This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push: new c21cde1 Add option to disable compaction at startup c21cde1 is described below commit c21cde119d12d0c5bec67c554f298874b3a70b8e Author: David Capwell <dcapw...@apple.com> AuthorDate: Tue Jul 7 10:25:06 2020 -0700 Add option to disable compaction at startup Patch by David Capwell, reviewed by brandonwilliams for CASSANDRA-15927 --- CHANGES.txt | 1 + src/java/org/apache/cassandra/config/Config.java | 2 ++ src/java/org/apache/cassandra/config/DatabaseDescriptor.java | 5 +++++ src/java/org/apache/cassandra/service/CassandraDaemon.java | 9 ++++++++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index d382650..9bca849 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0-alpha5 + * Add option to disable compaction at startup (CASSANDRA-15927) * FBUtilities.getJustLocalAddress falls back to lo ip on misconfigured nodes (CASSANDRA-15901) * Close channel and reduce buffer allocation during entire sstable streaming with SSL (CASSANDRA-15900) * Prune expired messages less frequently in internode messaging (CASSANDRA-15700) diff --git a/src/java/org/apache/cassandra/config/Config.java b/src/java/org/apache/cassandra/config/Config.java index 34ac049..63cfff4 100644 --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@ -521,6 +521,8 @@ public class Config public volatile boolean check_for_duplicate_rows_during_reads = true; public volatile boolean check_for_duplicate_rows_during_compaction = true; + public boolean autocompaction_on_startup_enabled = Boolean.parseBoolean(System.getProperty("cassandra.autocompaction_on_startup_enabled", "true")); + /** * Client mode means that the process is a pure client, that uses C* code base but does * not read or write local C* database files. diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 9cc2a3b..5f94710 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -3154,4 +3154,9 @@ public class DatabaseDescriptor { conf.range_tombstone_list_growth_factor = resizeFactor; } + + public static boolean getAutocompactionOnStartupEnabled() + { + return conf.autocompaction_on_startup_enabled; + } } diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index c7591d5..10d9cea 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -404,7 +404,14 @@ public class CassandraDaemon store.reload(); //reload CFs in case there was a change of disk boundaries if (store.getCompactionStrategyManager().shouldBeEnabled()) { - store.enableAutoCompaction(); + if (DatabaseDescriptor.getAutocompactionOnStartupEnabled()) + { + store.enableAutoCompaction(); + } + else + { + logger.info("Not enabling compaction for {}.{}; autocompaction_on_startup_enabled is set to false", store.keyspace.getName(), store.name); + } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org