Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
Description
Say you have a range R whose replica for that range are A, B and C. If you run repair on node A for that range R, when the repair end you only know that A is fully repaired. B and C are not. That is B and C are up to date with A before the repair, but are not up to date with one another.
It makes it a pain to schedule "optimal" cluster repairs, that is repairing a full cluster without doing work twice (because you would have still have to run a repair on B or C, which will make A, B and C redo a validation compaction on R, and with more replica it's even more annoying).
However it is fairly easy during the first repair on A to have him compare all the merkle trees, i.e the ones for B and C, and ask to B or C to stream between them whichever the differences they have.
Attachments
Attachments
Issue Links
- blocks
-
CASSANDRA-2405 should expose 'time since last successful repair' for easier aes monitoring
- Resolved
- depends upon
-
CASSANDRA-2433 Failed Streams Break Repair
- Resolved
- is depended upon by
-
CASSANDRA-2606 Expose through JMX the ability to repair only the primary range
- Resolved