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;