CASSANDRA-20996 Use LWTs for all auto-repair history mutations #4456
+48
−5
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.
For issue https://issues.apache.org/jira/browse/CASSANDRA-20996
The auto-repair history cleanup mechanism does not use LWTs for removing auto-repair history of stale nodes. This can lead to the following race condition:
This PR introduces a unit test to simulate this out-of-order deletion/upsert and updates the auto-repair history mutations to use LWTs in order to prevent the race condition from happening.