123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- [[migrating-8.5]]
- == Migrating to 8.5
- ++++
- <titleabbrev>8.5</titleabbrev>
- ++++
- This section discusses the changes that you need to be aware of when migrating
- your application to {es} 8.5.
- See also <<release-highlights>> and <<es-release-notes>>.
- [discrete]
- [[breaking-changes-8.5]]
- === Breaking changes
- The following changes in {es} 8.5 might affect your applications and prevent
- them from operating normally. Before upgrading to 8.5, review these changes and
- take the described steps to mitigate the impact.
- [discrete]
- [[breaking_85_rest_api_changes]]
- ==== REST API changes
- [[breaking_85_bulk_action_stricter]]
- .The bulk API now rejects requests containing unrecognized actions
- [%collapsible]
- ====
- *Details* +
- Requests to the bulk API comprise a sequence of items, each of which starts with
- a JSON object describing the item. This object includes the type of action to
- perform with the item which should be one of `create`, `update`, `index`, or
- `delete`. Earlier versions of {es} had a bug that caused them to ignore items
- with an unrecognized type, skipping the next line in the request, but this
- lenient behaviour meant that there is no way for the client to associate the
- items in the response with the items in the request, and in some cases it would
- cause the remainder of the request to be parsed incorrectly.
- From version 8.5 onwards, requests to the bulk API must comprise only items
- with recognized types. {es} will reject requests containing any items with an
- unrecognized type with a `400 Bad Request` error response.
- We consider this change to be a bugfix but list it here as a breaking change
- since it may affect the behaviour of applications which rely on being able to
- send unrecognized actions to {es}.
- *Impact* +
- Ensure your application only sends items with type `create`, `update`, `index`
- or `delete` to the bulk API.
- ====
- [discrete]
- [[deprecated-8.5]]
- === Deprecations
- The following functionality has been deprecated in {es} 8.5
- and will be removed in a future version.
- While this won't have an immediate impact on your applications,
- we strongly encourage you to take the described steps to update your code
- after upgrading to 8.5.
- To find out if you are using any deprecated functionality,
- enable <<deprecation-logging, deprecation logging>>.
- [discrete]
- [[deprecations_85_plugins]]
- ==== Plugin API deprecations
- [[network_plugins_deprecated]]
- Plugins that extend the NetworkPlugin interface are deprecated.
- [%collapsible]
- ====
- *Details* +
- Plugins may override funcionality that controls how nodes connect
- with other nodes over TCP/IP. These plugins extend the NetworkPlugin
- interface. In the next major release, these plugins will fail
- to install.
- *Impact* +
- Discontinue using any plugins which extend NetworkPlugin. You can
- see if any plugins use deprecated functionality by checking
- the Elasticsearch deprecation log.
- ====
- [[discoveryplugin_joinvalidator_and_election_strategies_deprecated]]
- .Extending DiscoveryPlugin to override join validators or election strategies is deprecated
- [%collapsible]
- ====
- *Details* +
- Plugins that extend DiscoveryPlugin may override getJoinValidator and
- getElectionStrategies. These methods are implementation details of the
- clustering mechanism within Elasticsearch. They should not be overriden.
- In the next major release, plugins overriding getJoinValidator or
- getElectionStrategies will fail to install.
- *Impact* +
- Discontinue using any plugins that override getJoinValidator or
- getElectionStrategies in DiscoveryPlugin. You can see if any plugins
- use deprecated functionality by checking the Elasticsearch deprecation log.
- ====
|