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

Make repair -pr work within a datacenter

    XMLWordPrintableJSON

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. 7450-2.1-v3.txt
          27 kB
          Yuki Morishita
        2. 2.1-CASSANDRA-7450-v2.txt
          20 kB
          Paulo Motta
        3. 2.1-CASSANDRA-7450-v1.txt
          10 kB
          Paulo Motta

        Issue Links

          Activity

            People

              pauloricardomg Paulo Motta
              slebresne Sylvain Lebresne
              Paulo Motta
              Yuki Morishita
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: