You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jj...@apache.org on 2017/06/09 10:55:14 UTC
cassandra git commit: NPE in IR cleanup when columnfamily has no
sstables
Repository: cassandra
Updated Branches:
refs/heads/trunk 10397a1bf -> ff29d6099
NPE in IR cleanup when columnfamily has no sstables
Patch by Jeff Jirsa; Reviewed by Marcus Eriksson for CASSANDRA-13585
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ff29d609
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ff29d609
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ff29d609
Branch: refs/heads/trunk
Commit: ff29d609979aae2c584ec6e6cd370da56945dc18
Parents: 10397a1
Author: Jeff Jirsa <je...@jeffjirsa.net>
Authored: Thu Jun 8 19:21:34 2017 -0700
Committer: Jeff Jirsa <je...@jeffjirsa.net>
Committed: Fri Jun 9 03:54:38 2017 -0700
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../repair/consistent/PendingAntiCompaction.java | 6 ++++--
.../repair/consistent/PendingAntiCompactionTest.java | 14 ++++++++++++++
3 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff29d609/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1f6c215..4425aad 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
4.0
+ * NPE in IR cleanup when columnfamily has no sstables (CASSANDRA-13585)
* Fix Randomness of stress values (CASSANDRA-12744)
* Allow selecting Map values and Set elements (CASSANDRA-7396)
* Fast and garbage-free Streaming Histogram (CASSANDRA-13444)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff29d609/src/java/org/apache/cassandra/repair/consistent/PendingAntiCompaction.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/repair/consistent/PendingAntiCompaction.java b/src/java/org/apache/cassandra/repair/consistent/PendingAntiCompaction.java
index dd71537..f183d14 100644
--- a/src/java/org/apache/cassandra/repair/consistent/PendingAntiCompaction.java
+++ b/src/java/org/apache/cassandra/repair/consistent/PendingAntiCompaction.java
@@ -69,8 +69,10 @@ public class PendingAntiCompaction
void abort()
{
- txn.abort();
- refs.release();
+ if (txn != null)
+ txn.abort();
+ if (refs != null)
+ refs.release();
}
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ff29d609/test/unit/org/apache/cassandra/repair/consistent/PendingAntiCompactionTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/repair/consistent/PendingAntiCompactionTest.java b/test/unit/org/apache/cassandra/repair/consistent/PendingAntiCompactionTest.java
index 2126835..3119453 100644
--- a/test/unit/org/apache/cassandra/repair/consistent/PendingAntiCompactionTest.java
+++ b/test/unit/org/apache/cassandra/repair/consistent/PendingAntiCompactionTest.java
@@ -255,6 +255,20 @@ public class PendingAntiCompactionTest
result.abort(); // releases sstable refs
}
+ @Test
+ public void pendingRepairNoSSTablesExist() throws Exception
+ {
+ cfs.disableAutoCompaction();
+
+ Assert.assertEquals(0, cfs.getLiveSSTables().size());
+
+ PendingAntiCompaction.AcquisitionCallable acquisitionCallable = new PendingAntiCompaction.AcquisitionCallable(cfs, FULL_RANGE, UUIDGen.getTimeUUID());
+ PendingAntiCompaction.AcquireResult result = acquisitionCallable.call();
+ Assert.assertNotNull(result);
+
+ result.abort(); // There's nothing to release, but we should exit cleanly
+ }
+
/**
* anti compaction task should be submitted if everything is ok
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org