[ https://issues.apache.org/jira/browse/CASSANDRA-7450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yuki Morishita updated CASSANDRA-7450: -------------------------------------- Attachment: 7450-2.1-v3.txt Thanks, [~pauloricardomg]! I attached V3 version which is based on your work. There are some places that are checking presence of bothe "-pr" and "-local", so I modified check to actually run repair in that case. Plus, some code clean up. Is this looking good? > Make repair -pr work within a datacenter > ---------------------------------------- > > Key: CASSANDRA-7450 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7450 > Project: Cassandra > Issue Type: Improvement > Reporter: Sylvain Lebresne > Assignee: Paulo Motta > Labels: bootcamp, repair > Fix For: 2.1.1 > > Attachments: 2.1-CASSANDRA-7450-v1.txt, 2.1-CASSANDRA-7450-v2.txt, > 7450-2.1-v3.txt > > > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)