Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-2610

Have the repair of a range repair *all* the replica for that range

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Low
    • Resolution: Fixed
    • Fix Version/s: 1.0.0
    • Component/s: None
    • Labels:
      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

        1. 0003-cleanup-and-fix-private-reference.patch
          11 kB
          Jonathan Ellis
        2. 0002-Cleanup-log-messages-v2.patch
          8 kB
          Sylvain Lebresne
        3. 0001-Make-repair-repair-all-hosts-v2.patch
          33 kB
          Sylvain Lebresne
        4. 0001-Make-repair-repair-all-hosts.patch
          51 kB
          Sylvain Lebresne

          Issue Links

            Activity

              People

              • Assignee:
                slebresne Sylvain Lebresne
                Reporter:
                slebresne Sylvain Lebresne
                Authors:
                Sylvain Lebresne
                Reviewers:
                Jonathan Ellis
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 8h
                  8h
                  Remaining:
                  Remaining Estimate - 8h
                  8h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified