CASSANDRA-20995 Do not wait for repair interval to pass before cleaning up orphaned auto-repair data #4455
+228
−2
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-20995
Currently the auto-repair scheduler handles orphan node cleanup in the following flow:
This means that any orphaned nodes in the cluster's auto-repair history are cleaned up only once per auto-repair interval. For repair types that have a high repair interval (such as full repair) this can cause a buildup or orphaned nodes in the auto-repair history which will eventually end up blocking auto-repair on the entire cluster.
This PR re-orders the operations to make sure that orphaned node cleanup is performed during every auto-repair loop, regardless of whether or not the repair interval has passed.