elasticsearch/docs/reference/migration/index.asciidoc
David Turner 1ac5c6f100
Extend version barrier to all upgrades (#73582)
Today when upgrading to the next major version we have a so-called
_major version barrier_: once the cluster comprises nodes of the new
major version then nodes of the previous major version are prevented
from joining the cluster. This means we can be certain that
`clusterState.nodes().getMinNodeVersion().major` will never decrease, so
we can implement upgrade logic that relies on the cluster remaining in
its wholly-upgraded state.

This commit generalises this behaviour to apply to all upgrades, so that
we can be certain that `clusterState.nodes().getMinNodeVersion()` will
never decrease in a running cluster.

Backport of #73358
Closes #72911
2021-06-01 10:35:38 +01:00

63 lines
2.5 KiB
Text

[[breaking-changes]]
= Migration guide
[partintro]
--
This section describes the breaking changes and deprecations introduced in this release
and previous minor versions.
As {es} introduces new features and improves existing ones,
the changes sometimes make older settings, APIs, and parameters obsolete.
The obsolete functionality is typically deprecated in a minor release and
removed in the subsequent major release.
This enables applications to continue working unchanged across most minor version upgrades.
Breaking changes introduced in minor releases are generally limited to critical security fixes
and bug fixes that correct unintended behavior.
To get the most out of {es} and facilitate future upgrades, we strongly encourage migrating
away from using deprecated functionality as soon as possible.
To give you insight into what deprecated features you're using, {es}:
- Returns a `Warn` HTTP header whenever you submit a request that uses deprecated functionality.
- <<deprecation-logging, Logs deprecation warnings>> when deprecated functionality is used.
- <<migration-api-deprecation, Provides a deprecation info API>> that scans a cluster's configuration
and mappings for deprecated functionality.
For more information about {minor-version},
see the <<release-highlights>> and <<es-release-notes>>.
For information about how to upgrade your cluster, see <<setup-upgrade>>.
* <<breaking-changes-7.14,Migrating to 7.14>>
* <<breaking-changes-7.13,Migrating to 7.13>>
* <<breaking-changes-7.12,Migrating to 7.12>>
* <<breaking-changes-7.11,Migrating to 7.11>>
* <<breaking-changes-7.10,Migrating to 7.10>>
* <<breaking-changes-7.9,Migrating to 7.9>>
* <<breaking-changes-7.8,Migrating to 7.8>>
* <<breaking-changes-7.7,Migrating to 7.7>>
* <<breaking-changes-7.6,Migrating to 7.6>>
* <<breaking-changes-7.5,Migrating to 7.5>>
* <<breaking-changes-7.4,Migrating to 7.4>>
* <<breaking-changes-7.3,Migrating to 7.3>>
* <<breaking-changes-7.2,Migrating to 7.2>>
* <<breaking-changes-7.1,Migrating to 7.1>>
* <<breaking-changes-7.0,Migrating to 7.0>>
--
include::migrate_7_14.asciidoc[]
include::migrate_7_13.asciidoc[]
include::migrate_7_12.asciidoc[]
include::migrate_7_11.asciidoc[]
include::migrate_7_10.asciidoc[]
include::migrate_7_9.asciidoc[]
include::migrate_7_8.asciidoc[]
include::migrate_7_7.asciidoc[]
include::migrate_7_6.asciidoc[]
include::migrate_7_5.asciidoc[]
include::migrate_7_4.asciidoc[]
include::migrate_7_3.asciidoc[]
include::migrate_7_2.asciidoc[]
include::migrate_7_1.asciidoc[]
include::migrate_7_0.asciidoc[]