You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2015/06/22 13:05:42 UTC

[2/3] cassandra git commit: Don't repair system_distributed by default

Don't repair system_distributed by default

Patch by marcuse; reviewed by slebresne for CASSANDRA-9621


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2deb68ed
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2deb68ed
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2deb68ed

Branch: refs/heads/trunk
Commit: 2deb68ede4b1eaf45eddaeb15e3af704daa1bbff
Parents: 44c7bde
Author: Marcus Eriksson <ma...@apache.org>
Authored: Mon Jun 22 09:55:05 2015 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Mon Jun 22 12:59:57 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                              |  1 +
 src/java/org/apache/cassandra/tools/nodetool/Repair.java | 10 ++++++++++
 2 files changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2deb68ed/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 4886850..45727f9 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2
+ * Don't repair system_distributed by default (CASSANDRA-9621)
  * Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
  * Rename class for DATE type in Java driver (CASSANDRA-9563)
  * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2deb68ed/src/java/org/apache/cassandra/tools/nodetool/Repair.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/nodetool/Repair.java b/src/java/org/apache/cassandra/tools/nodetool/Repair.java
index 45b3d98..7d0e207 100644
--- a/src/java/org/apache/cassandra/tools/nodetool/Repair.java
+++ b/src/java/org/apache/cassandra/tools/nodetool/Repair.java
@@ -27,8 +27,12 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+
+import com.google.common.collect.Sets;
 
 import org.apache.cassandra.repair.RepairParallelism;
+import org.apache.cassandra.repair.SystemDistributedKeyspace;
 import org.apache.cassandra.repair.messages.RepairOption;
 import org.apache.cassandra.tools.NodeProbe;
 import org.apache.cassandra.tools.NodeTool.NodeToolCmd;
@@ -37,6 +41,8 @@ import org.apache.commons.lang3.StringUtils;
 @Command(name = "repair", description = "Repair one or more tables")
 public class Repair extends NodeToolCmd
 {
+    public final static Set<String> ONLY_EXPLICITLY_REPAIRED = Sets.newHashSet(SystemDistributedKeyspace.NAME);
+
     @Arguments(usage = "[<keyspace> <tables>...]", description = "The keyspace followed by one or many tables")
     private List<String> args = new ArrayList<>();
 
@@ -86,6 +92,10 @@ public class Repair extends NodeToolCmd
 
         for (String keyspace : keyspaces)
         {
+            // avoid repairing system_distributed by default (CASSANDRA-9621)
+            if ((args == null || args.isEmpty()) && ONLY_EXPLICITLY_REPAIRED.contains(keyspace))
+                continue;
+
             Map<String, String> options = new HashMap<>();
             RepairParallelism parallelismDegree = RepairParallelism.PARALLEL;
             if (sequential)