Skip to content
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

ILM refactor to enable dynamic step plan execution #38047

Closed
talevy opened this issue Jan 30, 2019 · 2 comments
Closed

ILM refactor to enable dynamic step plan execution #38047

talevy opened this issue Jan 30, 2019 · 2 comments
Labels
:Data Management/ILM+SLM Index and Snapshot lifecycle management >refactoring

Comments

@talevy
Copy link
Contributor

talevy commented Jan 30, 2019

Currently, Lifecycle Actions generate static step lists that are intended to
be executed in sequence. This sequence is hardcoded into the action and
cannot be changed based on runtime state conditions. To bypass this
constraint, #37953 introduced a type of step called BranchingStep that
effectively behaves like a runtime branching in step plan execution. It enables
executing one of two different steps next, based on some condition. Although
this works, it relies on an implicit contract between the IndexLifecycleRunner
and ExecuteStepsUpdateTask to never call getNextStepKey on the branching
step until after it runs performAction. This is very fragile. If ILM intends to
support more branching in the future, or certain refactorings break this
contract, then a new strategy must be implemented.

This issue exists as a reminder that it may be worth thinking about further
refactoring to ExecuteStepsUpdateTask/IndexLifecycleRunner to enable
dynamic execution plans.

@talevy talevy added >refactoring :Data Management/ILM+SLM Index and Snapshot lifecycle management labels Jan 30, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-features

@talevy
Copy link
Contributor Author

talevy commented Aug 13, 2019

Closing due to staleness in relevance to feature needs

@talevy talevy closed this as completed Aug 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Data Management/ILM+SLM Index and Snapshot lifecycle management >refactoring
Projects
None yet
Development

No branches or pull requests

2 participants