PoC - [Failure store]: prework to facilitate failure lifecycle. #124472
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.
In this PR we perform some pre-work to facilitate the introduction of the failure lifecycle. The goal of this PR prepare our code base to start using the failure store lifecycle configuration as soon as it becomes available.
Extracting basic lifecycle behaviour in an interface
We extract an interface called
BasicDataSteamLifecyclewhich is meant to abstract the basic behaviour we expect every lifecycle to have. Meaning:The current
DataStreamLifecycleimplements this interface and extends the provided functionality by adding the downsampling feature too.In a follow up PR, the
FailureStoreLifecyclewill also extend it. This split is necessary for now, because we want to follow the new templating framework we introduced with #117357. When we move the data stream lifecycle also under thedata_stream_optionswe can reevaluate if the interface makes sense.Separate functionally data and failure lifecycle
In the
DataStreamwe split the lifecycle to two, the data and failure lifecycle. Currently, they refer to the exact same configuration but this will change in the follow up PR.Open tasks:
ExplainIndexDataStreamLifecycleUpdate: Re-evaluating earlier than expected because I am wondering if this is causing issues when serialising it in
ExplainIndexDataStreamLifecycle.