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