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/01/21 09:15:22 UTC
[04/15] cassandra git commit: Avoid NPE on incremental repair failure
Avoid NPE on incremental repair failure
Patch by marcuse; reviewed by Carl Yeksigian for CASSANDRA-10909
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/98cc2c8d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/98cc2c8d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/98cc2c8d
Branch: refs/heads/cassandra-3.0
Commit: 98cc2c8d6cc27f1a2e675030a13b46fd336812f8
Parents: 1b02a6e
Author: Marcus Eriksson <ma...@apache.org>
Authored: Tue Jan 12 08:19:04 2016 +0100
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu Jan 21 08:59:47 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/service/ActiveRepairService.java | 12 +++++-------
2 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/98cc2c8d/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9b1b79c..7175953 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.13
+ * Avoid NPE when incremental repair fails (CASSANDRA-10909)
* Unmark sstables compacting once they are done in cleanup/scrub/upgradesstables (CASSANDRA-10829)
* Revert CASSANDRA-10012 and add more logging (CASSANDRA-10961)
* Allow simultaneous bootstrapping with strict consistency when no vnodes are used (CASSANDRA-11005)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/98cc2c8d/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 dd80d4c..732267e 100644
--- a/src/java/org/apache/cassandra/service/ActiveRepairService.java
+++ b/src/java/org/apache/cassandra/service/ActiveRepairService.java
@@ -428,15 +428,17 @@ public class ActiveRepairService
{
public final Map<UUID, ColumnFamilyStore> columnFamilyStores = new HashMap<>();
public final Collection<Range<Token>> ranges;
- public final Map<UUID, Set<SSTableReader>> sstableMap;
+ public final Map<UUID, Set<SSTableReader>> sstableMap = new HashMap<>();
public final long repairedAt;
public ParentRepairSession(List<ColumnFamilyStore> columnFamilyStores, Collection<Range<Token>> ranges, long repairedAt)
{
for (ColumnFamilyStore cfs : columnFamilyStores)
+ {
this.columnFamilyStores.put(cfs.metadata.cfId, cfs);
+ sstableMap.put(cfs.metadata.cfId, new HashSet<SSTableReader>());
+ }
this.ranges = ranges;
- this.sstableMap = new HashMap<>();
this.repairedAt = repairedAt;
}
@@ -466,11 +468,7 @@ public class ActiveRepairService
public void addSSTables(UUID cfId, Collection<SSTableReader> sstables)
{
- Set<SSTableReader> existingSSTables = this.sstableMap.get(cfId);
- if (existingSSTables == null)
- existingSSTables = new HashSet<>();
- existingSSTables.addAll(sstables);
- this.sstableMap.put(cfId, existingSSTables);
+ sstableMap.get(cfId).addAll(sstables);
}
@Override