Repository: cassandra
Updated Branches:
  refs/heads/trunk 70360cf25 -> 1753f3749


Check if autocompaction should be disabled before enabling it during startup.

Patch by marcuse; reviewed by driftx for CASSANDRA-7187


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

Branch: refs/heads/trunk
Commit: 0490abff4e09d1b89f7ee00161ecc487d0c30151
Parents: 16fd1a4
Author: Marcus Eriksson <[email protected]>
Authored: Wed May 7 18:39:49 2014 +0200
Committer: Marcus Eriksson <[email protected]>
Committed: Thu May 8 08:14:24 2014 +0200

----------------------------------------------------------------------
 CHANGES.txt                                         |  1 +
 .../db/compaction/AbstractCompactionStrategy.java   | 16 +++++++++-------
 .../apache/cassandra/service/CassandraDaemon.java   |  3 ++-
 3 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0490abff/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 05cc193..0acf740 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
  * Starting threads in OutboundTcpConnectionPool constructor causes race 
conditions (CASSANDRA-7177)
  * return all cpu values from BackgroundActivityMonitor.readAndCompute 
(CASSANDRA-7183)
  * fix c* launch issues on Russian os's due to output of linux 'free' cmd 
(CASSANDRA-6162)
+ * Fix disabling autocompaction (CASSANDRA-7187)
 
 2.0.8
  * Correctly delete scheduled range xfers (CASSANDRA-7143)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0490abff/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
index 941d3d7..276802f 100644
--- 
a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
+++ 
b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
@@ -87,13 +87,8 @@ public abstract class AbstractCompactionStrategy
             tombstoneThreshold = optionValue == null ? 
DEFAULT_TOMBSTONE_THRESHOLD : Float.parseFloat(optionValue);
             optionValue = options.get(TOMBSTONE_COMPACTION_INTERVAL_OPTION);
             tombstoneCompactionInterval = optionValue == null ? 
DEFAULT_TOMBSTONE_COMPACTION_INTERVAL : Long.parseLong(optionValue);
-            optionValue = options.get(COMPACTION_ENABLED);
-
-            if (optionValue != null)
-            {
-                if (optionValue.equalsIgnoreCase("false"))
-                    this.enabled = false;
-            }
+            if (!shouldBeEnabled())
+                this.disable();
         }
         catch (ConfigurationException e)
         {
@@ -376,4 +371,11 @@ public abstract class AbstractCompactionStrategy
         uncheckedOptions.remove(COMPACTION_ENABLED);
         return uncheckedOptions;
     }
+
+    public boolean shouldBeEnabled()
+    {
+        String optionValue = options.get(COMPACTION_ENABLED);
+
+        return optionValue == null || Boolean.parseBoolean(optionValue);
+    }
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0490abff/src/java/org/apache/cassandra/service/CassandraDaemon.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java 
b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index 0970776..9c7cc94 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -332,7 +332,8 @@ public class CassandraDaemon
             {
                 for (final ColumnFamilyStore store : cfs.concatWithIndexes())
                 {
-                    store.enableAutoCompaction();
+                    if (store.getCompactionStrategy().shouldBeEnabled())
+                        store.enableAutoCompaction();
                 }
             }
         }

Reply via email to