Details
-
Improvement
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
Semantic
-
Normal
-
All
-
None
Description
While working on CASSANDRA-15685, we acknowledged that there is an edge case not handled. If we try to runĀ
Preview repair isn't allowed to be run concurrently with IR. If we run it right after IR and IR completes before the completion message is handled on the participant; the below is impacted by this race condition.
nodetool repair foo bar
# does not look to be running concurrently with the above IR, since it was notified of success
# but the commit message may not have been seen yet which cause this to be concurrent with the above
nodetool repair foo bar --validate
See here https://github.com/apache/cassandra/blob/ec1808a34f9aa5ae0b956c1527828566f4ba2be5/src/java/org/apache/cassandra/repair/consistent/CoordinatorSession.java#L234-L244. We send the message but don't make sure its ack on.