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

Make repair -pr work within a datacenter

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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 (Deprecated)
        3. 2.1-CASSANDRA-7450-v1.txt
          10 kB
          Paulo Motta (Deprecated)

        Issue Links

          Activity

            People

            • Assignee:
              pauloricardomg Paulo Motta (Deprecated) Assign to me
              Reporter:
              slebresne Sylvain Lebresne
              Authors:
              Paulo Motta (Deprecated)
              Reviewers:
              Yuki Morishita

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment