-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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 snapshot stress tests #78596
Add snapshot stress tests #78596
Conversation
Adds `SnapshotStressTestsIT`, a test that performs a wide variety of concurrent snapshot-related operations to explore the corners of the snapshot state machine in a randomized fashion: - indexing docs, deleting and re-creating the indices - restarting nodes - removing and adding repositores - taking snapshots (sometimes partial), cloning them, and deleting them It ensures that these operations should succeed via a system of shared/exclusive locks. None of the operations block. If the necessary locks aren't all available then the operation just releases the ones it has acquired and tries again later. The test completes after completing a certain number of snapshots or after a certain time has elapsed.
Pinging @elastic/es-distributed (Team:Distributed) |
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.
As a longtime user of this, LGTM :)
+ Again, thanks so much for this David!
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.
LGTM, those tests are great! I left minor comments, feel free to address them.
server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java
Outdated
Show resolved
Hide resolved
server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java
Outdated
Show resolved
Hide resolved
server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java
Outdated
Show resolved
Hide resolved
server/src/internalClusterTest/java/org/elasticsearch/snapshots/SnapshotStressTestsIT.java
Outdated
Show resolved
Hide resolved
💚 Backport successful
|
Adds `SnapshotStressTestsIT`, a test that performs a wide variety of concurrent snapshot-related operations to explore the corners of the snapshot state machine in a randomized fashion: - indexing docs, deleting and re-creating the indices - restarting nodes - removing and adding repositores - taking snapshots (sometimes partial), cloning them, and deleting them It ensures that these operations should succeed via a system of shared/exclusive locks. None of the operations block. If the necessary locks aren't all available then the operation just releases the ones it has acquired and tries again later. The test completes after completing a certain number of snapshots or after a certain time has elapsed.
Adds `SnapshotStressTestsIT`, a test that performs a wide variety of concurrent snapshot-related operations to explore the corners of the snapshot state machine in a randomized fashion: - indexing docs, deleting and re-creating the indices - restarting nodes - removing and adding repositores - taking snapshots (sometimes partial), cloning them, and deleting them It ensures that these operations should succeed via a system of shared/exclusive locks. None of the operations block. If the necessary locks aren't all available then the operation just releases the ones it has acquired and tries again later. The test completes after completing a certain number of snapshots or after a certain time has elapsed. Backport of #78596
Adds
SnapshotStressTestsIT
, a test that performs a wide variety ofconcurrent snapshot-related operations to explore the corners of the
snapshot state machine in a randomized fashion:
It ensures that these operations should succeed via a system of
shared/exclusive locks. None of the operations block. If the necessary
locks aren't all available then the operation just releases the ones it
has acquired and tries again later. The test completes after completing
a certain number of snapshots or after a certain time has elapsed.