Make sure compaction stats are updated when compaction is interrupted

patch by Stefania Alborghetti; reviewed by Marcus Eriksson for CASSANDRA-12100


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

Branch: refs/heads/cassandra-3.8
Commit: 05483a962c64c350315fc738c697980b22361cc3
Parents: 2691c9e
Author: Stefania Alborghetti <stefania.alborghe...@datastax.com>
Authored: Thu Aug 4 14:20:38 2016 +0800
Committer: Stefania Alborghetti <stefania.alborghe...@datastax.com>
Committed: Thu Aug 11 09:09:57 2016 +0800

----------------------------------------------------------------------
 CHANGES.txt                                                     | 1 +
 src/java/org/apache/cassandra/db/compaction/CompactionTask.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/05483a96/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e1bc9f3..bd3bb75 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.9
+ * Make sure compaction stats are updated when compaction is interrupted 
(CASSANDRA-12100)
  * Fix potential bad messaging service message for paged range reads
    within mixed-version 3.x clusters (CASSANDRA-12249)
  * Change commitlog and sstables to track dirty and clean intervals 
(CASSANDRA-11828)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/05483a96/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index 9a7aa98..7e4ed41 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -164,13 +164,14 @@ public class CompactionTask extends AbstractCompactionTask
                  AbstractCompactionStrategy.ScannerList scanners = 
strategy.getScanners(actuallyCompact);
                  CompactionIterator ci = new 
CompactionIterator(compactionType, scanners.scanners, controller, nowInSec, 
taskId))
             {
-                if (collector != null)
-                    collector.beginCompaction(ci);
                 long lastCheckObsoletion = start;
 
                 if (!controller.cfs.getCompactionStrategyManager().isActive)
                     throw new 
CompactionInterruptedException(ci.getCompactionInfo());
 
+                if (collector != null)
+                    collector.beginCompaction(ci);
+
                 try (CompactionAwareWriter writer = 
getCompactionAwareWriter(cfs, getDirectories(), transaction, actuallyCompact))
                 {
                     estimatedKeys = writer.estimatedKeys();

Reply via email to