Fix test GatewayMetaStateTests.testAtomicityWithFailures #39117
Closed
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.
The test tries to ascertain atomic writes of the manifest, cluster global data,
and index metadata, in the presence of write failures.
We don't however guarantee atomicity no matter what. Specifically rollbacks, which delete extraneous files generated during the transaction, can also fail and swallow exceptions. A failed write corroborated with a failed delete could thrash the metadata consistency.
For example: the test in #39077 , fails because:
The test then detects an inconsistency when it tries to read the global data pointed to in the
manifest, which has been reverted, and fails.
This fixes the test such that it does not disrupt delete operations (all deletes are successful). I have run the test multiple times so I am fairly confident atomicity is guaranteed in this case, hence the test is correctly defined.
Closes #39077