You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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 branchingstep until after it runs
performAction
. This is very fragile. If ILM intends tosupport 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.
The text was updated successfully, but these errors were encountered: