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;
}