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

Make repair -pr work within a datacenter

    Details

      Description

      As was noticed in CASSANDRA-7317, using '-pr' alongside '-local' for repair doesn't really work properly, and disabling the combination was definitively the right short time fix. However, the main goal of '-pr' is to make it easy to repair a full cluster without doing any duplication of work. Doing the same only within a data-center is obviously desirable.

      I think a reasonably simple solution would be modify the behavior of '-pr' when it's limited to only one DC. If applied to nodeX in dcY, instead of repairing only the "primary" range of nodeX for the whole ring, we'll repair that range but also all ranges that are "primary" for a node not in dcY and for which nodeX is the first node of dcY found in ring order. Basically we'll ensure that running 'repair -local -pr' on every nodes of a given DC will repair all ranges for the nodes of that DC without repairing the same range twice.

        Attachments

        1. 2.1-CASSANDRA-7450-v1.txt
          10 kB
          Paulo Motta
        2. 2.1-CASSANDRA-7450-v2.txt
          20 kB
          Paulo Motta
        3. 7450-2.1-v3.txt
          27 kB
          Yuki Morishita

          Issue Links

            Activity

              People

              • Assignee:
                pauloricardomg Paulo Motta
                Reporter:
                slebresne Sylvain Lebresne
                Reviewer:
                Yuki Morishita
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: