-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-define index.mapper.dynamic setting in 8.x #109341
Re-define index.mapper.dynamic setting in 8.x #109341
Conversation
Forward port from elastic#109301 to main branch only, and also checks whether the setting gets archived. Relates to elastic#109160 and elastic#96075
Hi @martijnvg, I've created a changelog YAML for you. |
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks @martijnvg
@@ -147,6 +147,18 @@ public boolean isAutoUpdate() { | |||
Property.Dynamic, | |||
Property.IndexScope | |||
); | |||
/** | |||
* Legacy index setting, kept for 7.x BWC compatibility. This setting has no effect in 8.x. Do not use. | |||
* TODO: Remove in 9.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use @UpdateForV9 instead of TODO?
Currently when upgrading a 7.x cluster to 8.x with `index.mapper.dynamic` index setting defined the following happens: - In case of a full cluster restart upgrade, then the index setting gets archived and after the upgrade the cluster is in a green health. - In case of a rolling cluster restart upgrade, then shards of indices with the index setting fail to allocate as nodes start with 8.x version. The result is that the cluster has a red health and the index setting isn't archived. Closing and opening the index should archive the index setting and allocate the shards. The change is about ensuring the same behavior happens when upgrading a cluster from 7.x to 8.x with indices that have the `index.mapper.dynamic` index setting defined. By re-defining the `index.mapper.dynamic `index setting with `IndexSettingDeprecatedInV7AndRemovedInV8` property, the index is allowed to exist in 7.x indices, but can't be defined in new indices after the upgrade. This way we don't have to rely on index archiving and upgrading via full cluster restart or rolling restart will yield the same outcome. Based on the test in elastic#109301. Relates to elastic#109160 and elastic#96075
💚 Backport successful
|
Currently when upgrading a 7.x cluster to 8.x with `index.mapper.dynamic` index setting defined the following happens: - In case of a full cluster restart upgrade, then the index setting gets archived and after the upgrade the cluster is in a green health. - In case of a rolling cluster restart upgrade, then shards of indices with the index setting fail to allocate as nodes start with 8.x version. The result is that the cluster has a red health and the index setting isn't archived. Closing and opening the index should archive the index setting and allocate the shards. The change is about ensuring the same behavior happens when upgrading a cluster from 7.x to 8.x with indices that have the `index.mapper.dynamic` index setting defined. By re-defining the `index.mapper.dynamic `index setting with `IndexSettingDeprecatedInV7AndRemovedInV8` property, the index is allowed to exist in 7.x indices, but can't be defined in new indices after the upgrade. This way we don't have to rely on index archiving and upgrading via full cluster restart or rolling restart will yield the same outcome. Based on the test in #109301. Relates to #109160 and #96075
This setting had been removed in the past, it was reintroudced for bw comp with 7.x with elastic#109341. It can now be removed from main as it no longer supports indices created with 7.x
This setting had been removed in the past, it was reintroudced for bw comp with 7.x with #109341. It can now be removed from main as it no longer supports indices created with 7.x
Currently when upgrading a 7.x cluster to 8.x with
index.mapper.dynamic
index setting defined the following happens:The change is about ensuring the same behavior happens when upgrading a cluster from 7.x to 8.x with indices that have the
index.mapper.dynamic
index setting defined. By re-defining theindex.mapper.dynamic
index setting withIndexSettingDeprecatedInV7AndRemovedInV8
property, the index is allowed to exist in 7.x indices, but can't be defined in new indices after the upgrade. This way we don't have to rely on index archiving and upgrading via full cluster restart or rolling restart will yield the same outcome.Based on the test in #109301.
Relates to #109160 and #96075