-
Notifications
You must be signed in to change notification settings - Fork 25.6k
re-enable ILM integration tests and fix policyRegistry update bug #32108
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
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
76b749d
re-enable ILM integration tests and fix policyRegistry bug
talevy 1732360
cleanup
talevy bb6807a
checkout index-lifecycle MockStep
talevy a5f9696
remove unecessary line
talevy 7ae3727
Merge branch 'index-lifecycle' into ilm-master-failover
talevy 4503c18
revert re-assignment of policy registry
talevy 15ed476
simply argument to IndexLifecycleMetadata in registry update
talevy fc66661
Merge branch 'index-lifecycle' into ilm-master-failover
talevy 8f6f5cf
Merge branch 'index-lifecycle' into ilm-master-failover
talevy 1a5049b
Merge branch 'index-lifecycle' into ilm-master-failover
talevy 70ceba1
add javadoc to LockableLifecycleType
talevy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
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.
Hey @jasontedor,
Previously, IndexLifecycleService was not updating its internal state when
a node was newly-elected master, and there were no changes to policies in the cluster-state.
To fix this, there are a few options, but two that I see are as follows:
policyRegistry.update, Since the real diff that matters is between the internal state of the registry and the current cluster state.(2) has the benefit that it makes it clear that this instance is no longer master and therefore should forget about any policies it once had since it is not keeping up to date with updating it anymore for when changes do occur. The downside here is that this can result in weird behavior for when nodes are un-elected, then elected, all before the next state listener callback occurs.
(1) has the benefit that there does not seem to be any edge cases to worry about. The only downside is that the object will be stale until it becomes master again. This should be OK because the cluster-state-applier that will re-update the registry will be called before the cluster-state-listener-callback re-launches the scheduled job and triggers policies.
Are there aspects of this that these thoughts are missing in the story of re-election and state management?
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.
update to this inquiry has been discussed in #32181 and #32212 was opened to address it