mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 23:27:25 -04:00
With https://github.com/elastic/stack-docs/pull/2495 merged, we no longer reuse breaking changes in the Stack Install/Upgrade guide. This removes the related `notable-breaking-changes[]` tags from the 8.9+ docs and updates the RN generator template. ## Out of scope With the removal of these tags, we may no longer need the `notable` property for changelog entries and can likely simplify the logic for the [BreakingChangesGenerator](https://github.com/elastic/elasticsearch/blob/main/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/release/BreakingChangesGenerator.java). Updating those files is outside the scope of this PR. I've opened https://github.com/elastic/elasticsearch/issues/98145 to track that work.
101 lines
3.5 KiB
Text
101 lines
3.5 KiB
Text
[[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.
|
|
====
|
|
|