From f01423164479345493c06c86121678113e27d58e Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 24 Jul 2024 09:04:16 +0000 Subject: [PATCH] add conf item to disable rocksdb compaction Signed-off-by: Jason Volk --- src/core/config/mod.rs | 3 +++ src/database/opts.rs | 1 + 2 files changed, 4 insertions(+) diff --git a/src/core/config/mod.rs b/src/core/config/mod.rs index 6cef402a..ae273545 100644 --- a/src/core/config/mod.rs +++ b/src/core/config/mod.rs @@ -236,6 +236,8 @@ pub struct Config { pub rocksdb_compaction_prio_idle: bool, #[serde(default = "true_fn")] pub rocksdb_compaction_ioprio_idle: bool, + #[serde(default = "true_fn")] + pub rocksdb_compaction: bool, pub emergency_password: Option, @@ -712,6 +714,7 @@ impl fmt::Display for Config { "RocksDB Compaction Idle IOPriority", &self.rocksdb_compaction_ioprio_idle.to_string(), ); + line("RocksDB Compaction enabled", &self.rocksdb_compaction.to_string()); line("Media integrity checks on startup", &self.media_startup_check.to_string()); line("Media compatibility filesystem links", &self.media_compat_file_link.to_string()); line("Prevent Media Downloads From", { diff --git a/src/database/opts.rs b/src/database/opts.rs index d2236454..3c3ad424 100644 --- a/src/database/opts.rs +++ b/src/database/opts.rs @@ -68,6 +68,7 @@ pub(crate) fn db_options(config: &Config, env: &mut Env, row_cache: &Cache, col_ set_compression_defaults(&mut opts, config); // Misc + opts.set_disable_auto_compactions(!config.rocksdb_compaction); opts.create_if_missing(true); // Default: https://github.com/facebook/rocksdb/wiki/WAL-Recovery-Modes#ktoleratecorruptedtailrecords