-
Notifications
You must be signed in to change notification settings - Fork 25k
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
add awaitsfixed tests for running ILM actions during snapshot #37552
Conversation
Pinging @elastic/es-core-features |
e2eca9f
to
7aeec21
Compare
fun fact: not all |
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.
This LGTM, I left one minor comment
...-node/src/test/java/org/elasticsearch/xpack/indexlifecycle/TimeSeriesLifecycleActionsIT.java
Show resolved
Hide resolved
run gradle build tests 1 |
run gradle build tests 1 |
run gradle build tests 2 |
run gradle build tests 1 |
run gradle build tests 1 |
These tests were designed to be used by a follow-up PR that fixes these ILM action while snapshot issues. Closing this since changes to these tests will need to be done when new code for fixes are introduced. This PR can be viewed as a reference to tests that will be added in other PRs. Closing to be superseded by follow-up PRs |
Some steps, such as steps that delete, close, or freeze an index, may fail due to a currently running snapshot of the index. In those cases, rather than move to the ERROR step, we should retry the step when the snapshot has completed. This change adds an abstract step (`AsyncRetryDuringSnapshotActionStep`) that certain steps (like the ones I mentioned above) can extend that will automatically handle a situation where a snapshot is taking place. When a `SnapshotInProgressException` is received by the listener wrapper, a `ClusterStateObserver` listener is registered to wait until the snapshot has completed, re-running the ILM action when no snapshot is occurring. This also adds integration tests for these scenarios (thanks to @talevy in #37552). Resolves #37541
Some steps, such as steps that delete, close, or freeze an index, may fail due to a currently running snapshot of the index. In those cases, rather than move to the ERROR step, we should retry the step when the snapshot has completed. This change adds an abstract step (`AsyncRetryDuringSnapshotActionStep`) that certain steps (like the ones I mentioned above) can extend that will automatically handle a situation where a snapshot is taking place. When a `SnapshotInProgressException` is received by the listener wrapper, a `ClusterStateObserver` listener is registered to wait until the snapshot has completed, re-running the ILM action when no snapshot is occurring. This also adds integration tests for these scenarios (thanks to @talevy in #37552). Resolves #37541
These tests check that Delete, Freeze, and Shrink actions fail execution while
a snapshot is in progress.
these should stay awaitsfixed until #37541 is resolved.
The intention of this PR is to introduce tests that should pass once follow-up PRs are introduced that can un-awaits them.