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 2016/06/23 13:18:50 UTC

[05/12] cassandra git commit: Don't try to get sstables for non-repairing column families

Don't try to get sstables for non-repairing column families

Patch by marcuse; reviewed by Paulo Motta for CASSANDRA-12077


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

Branch: refs/heads/cassandra-2.1
Commit: 9358e589e292a2c851d069aebd36819f8e767f5b
Parents: 3c8421a
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu Jun 23 09:46:00 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jun 23 14:49:59 2016 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9358e589/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 03246ae..620568d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.15
+ * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)
  * Prevent select statements with clustering key > 64k (CASSANDRA-11882)
  * Avoid marking too many sstables as repaired (CASSANDRA-11696)
  * Fix clock skew corrupting other nodes with paxos (CASSANDRA-11991)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9358e589/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 bab244d..4ca1e42 100644
--- a/src/java/org/apache/cassandra/service/ActiveRepairService.java
+++ b/src/java/org/apache/cassandra/service/ActiveRepairService.java
@@ -528,7 +528,10 @@ public class ActiveRepairService implements IEndpointStateChangeSubscriber, IFai
         {
             assert marked.contains(cfId);
             ImmutableMap.Builder<SSTableReader, Ref<SSTableReader>> references = ImmutableMap.builder();
-            for (SSTableReader sstable : getActiveSSTables(cfId))
+            Iterable<SSTableReader> sstables = getActiveSSTables(cfId);
+            if (sstables == null)
+                throw new RuntimeException("Not possible to get sstables for anticompaction for " + cfId);
+            for (SSTableReader sstable : sstables)
             {
                 Ref<SSTableReader> ref = sstable.tryRef();
                 if (ref == null)
@@ -567,6 +570,9 @@ public class ActiveRepairService implements IEndpointStateChangeSubscriber, IFai
         {
             if (failed)
                 return Collections.emptySet();
+            if (!columnFamilyStores.containsKey(cfId))
+                return null;
+
             Set<String> repairedSSTables = sstableMap.get(cfId);
             Set<SSTableReader> activeSSTables = new HashSet<>();
             Set<String> activeSSTableNames = new HashSet<>();