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<>();