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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]