Fix hang when repairing empty keyspace

patch by Jeff Jirsa; reviewed by yukim for CASSANDRA-8694


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

Branch: refs/heads/trunk
Commit: 8c003a2a5ab261db06fbda784b5353d38982f488
Parents: 2a283e1
Author: Jeff Jirsa <j...@jeffjirsa.net>
Authored: Mon Feb 2 16:52:03 2015 -0600
Committer: Yuki Morishita <yu...@apache.org>
Committed: Mon Feb 2 16:52:03 2015 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                    | 1 +
 src/java/org/apache/cassandra/service/ActiveRepairService.java | 2 ++
 2 files changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c003a2a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 40d844c..b95fd3a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -83,6 +83,7 @@
  * Log failed host when preparing incremental repair (CASSANDRA-8228)
  * Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
  * Fix sstableupgrade throws exception (CASSANDRA-8688)
+ * Fix hang when repairing empty keyspace (CASSANDRA-8694)
 Merged from 2.0:
  * Prevent non-zero default_time_to_live on tables with counters
    (CASSANDRA-8678)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c003a2a/src/java/org/apache/cassandra/service/ActiveRepairService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/ActiveRepairService.java 
b/src/java/org/apache/cassandra/service/ActiveRepairService.java
index 1c5138b..15e7641 100644
--- a/src/java/org/apache/cassandra/service/ActiveRepairService.java
+++ b/src/java/org/apache/cassandra/service/ActiveRepairService.java
@@ -122,6 +122,8 @@ public class ActiveRepairService
      */
     public RepairFuture submitRepairSession(UUID parentRepairSession, 
Range<Token> range, String keyspace, RepairParallelism parallelismDegree, 
Set<InetAddress> endpoints, String... cfnames)
     {
+        if (cfnames.length == 0)
+            return null;
         RepairSession session = new RepairSession(parentRepairSession, range, 
keyspace, parallelismDegree, endpoints, cfnames);
         if (session.endpoints.isEmpty())
             return null;

Reply via email to