Author: slebresne
Date: Wed Jul 27 15:25:14 2011
New Revision: 1151497

URL: http://svn.apache.org/viewvc?rev=1151497&view=rev
Log:
check column family input validity in nodetool repair
patch by yukim; reviewed by slebresne for CASSANDRA-2933

Modified:
    cassandra/branches/cassandra-0.8/CHANGES.txt
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java

Modified: cassandra/branches/cassandra-0.8/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1151497&r1=1151496&r2=1151497&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8/CHANGES.txt Wed Jul 27 15:25:14 2011
@@ -11,6 +11,7 @@
    (CASSANDRA-2946)
  * use lazy initialization instead of class initialization in NodeId
    (CASSANDRA-2953)
+ * check column family validity in nodetool repair (CASSANDRA-2933)
 
 
 0.8.2

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java?rev=1151497&r1=1151496&r2=1151497&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageService.java
 Wed Jul 27 15:25:14 2011
@@ -1557,20 +1557,13 @@ public class StorageService implements I
 
     public AntiEntropyService.RepairSession forceTableRepair(final Range 
range, final String tableName, final String... columnFamilies) throws 
IOException
     {
-        String[] families;
-        if (columnFamilies.length == 0)
+        ArrayList<String> names = new ArrayList<String>();
+        for (ColumnFamilyStore cfStore : getValidColumnFamilies(tableName, 
columnFamilies))
         {
-            ArrayList<String> names = new ArrayList<String>();
-            for (ColumnFamilyStore cfStore : 
getValidColumnFamilies(tableName)) {
-                names.add(cfStore.getColumnFamilyName());
-            }
-            families = names.toArray(new String[] {});
+            names.add(cfStore.getColumnFamilyName());
         }
-        else
-        {
-            families = columnFamilies;
-        }
-        AntiEntropyService.RepairSession sess = 
AntiEntropyService.instance.getRepairSession(range, tableName, families);
+
+        AntiEntropyService.RepairSession sess = 
AntiEntropyService.instance.getRepairSession(range, tableName, 
names.toArray(new String[names.size()]));
         sess.start();
         return sess;
     }


Reply via email to