- Notifications
You must be signed in to change notification settings - Fork 25.5k
Suppress merge-on-recovery for older indices #113462
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
Suppress merge-on-recovery for older indices #113462
Conversation
There may be many older indices in need of merging, but today we do not throttle this work across shards so an upgrade could lead to an overwhelming spike in merges. With this commit we make it so that the automatic merge-on-recovery behaviour only applies to newly-created indices.
Pinging @elastic/es-distributed (Team:Distributed) |
Hi @DaveCTurner, I've created a changelog YAML for you. |
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.
I'll backport the IndexVersions
change, but nothing else, to 8.16.
| ||
static { | ||
final var propertyValue = System.getProperty("es.trigger_merge_after_recovery"); | ||
final var propertyValue = System.getProperty("es.trigger_merge_after_recovery_8_515_00_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.
Renaming the kill-switch here to nullify the overrides that are in place today and automatically re-enable this feature when upgrading. We can rename it back again later.
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.
Most of elastic#113462 only applies to `main`, but for now we must keep the index versions aligned in `8.x`. This commit backports the new `IndexVersion` constant.
Most of #113462 only applies to `main`, but for now we must keep the index versions aligned in `8.x`. This commit backports the new `IndexVersion` constant.
In elastic#113462 we introduced a version bound on post-recovery merges to avoid a spike of merge activity after an upgrade. At the time there was no `IndexVersion` unique to the 9.x series, but we have such a version now, so this commit properly restricts post-recovery merges to only apply to indices created by versions that support them. Relates ES-9620
In #113462 we introduced a version bound on post-recovery merges to avoid a spike of merge activity after an upgrade. At the time there was no `IndexVersion` unique to the 9.x series, but we have such a version now, so this commit properly restricts post-recovery merges to only apply to indices created by versions that support them. Relates ES-9620
In elastic#113462 we introduced a version bound on post-recovery merges to avoid a spike of merge activity after an upgrade. At the time there was no `IndexVersion` unique to the 9.x series, but we have such a version now, so this commit properly restricts post-recovery merges to only apply to indices created by versions that support them. Relates ES-9620
In #113462 we introduced a version bound on post-recovery merges to avoid a spike of merge activity after an upgrade. At the time there was no `IndexVersion` unique to the 9.x series, but we have such a version now, so this commit properly restricts post-recovery merges to only apply to indices created by versions that support them. Relates ES-9620
There may be many older indices in need of merging, but today we do not
throttle this work across shards so an upgrade could lead to an
overwhelming spike in merges. With this commit we make it so that the
automatic merge-on-recovery behaviour only applies to newly-created
indices.