From 1f6918be3fed1ebfbc2dfd4a122e918a55205cc0 Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Wed, 20 Aug 2025 14:56:05 +0300 Subject: [PATCH] sstables_manager: Move enable_sstable_key_validation on config Make it OFF by default and update only those callers, that may have it ON -- the replica::database, tests and scylla-sstable tool. Also not live-updateable, so plain bool. Signed-off-by: Pavel Emelyanov --- replica/database.cc | 1 + sstables/sstables_manager.cc | 2 +- sstables/sstables_manager.hh | 1 + test/lib/test_services.cc | 1 + tools/scylla-sstable.cc | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/replica/database.cc b/replica/database.cc index a5dc336d6b..9fbbd8150c 100644 --- a/replica/database.cc +++ b/replica/database.cc @@ -372,6 +372,7 @@ database::view_update_read_concurrency_sem() { static auto configure_sstables_manager(const db::config& cfg, const database_config& db_cfg) { return sstables::sstables_manager::config { .available_memory = db_cfg.available_memory, + .enable_sstable_key_validation = cfg.enable_sstable_key_validation(), }; } diff --git a/sstables/sstables_manager.cc b/sstables/sstables_manager.cc index 09532d460d..757c3a632f 100644 --- a/sstables/sstables_manager.cc +++ b/sstables/sstables_manager.cc @@ -222,7 +222,7 @@ sstable_writer_config sstables_manager::configure_writer(sstring origin) const { if (!cfg.promoted_index_auto_scale_threshold) { cfg.promoted_index_auto_scale_threshold = std::numeric_limits::max(); } - cfg.validation_level = _db_config.enable_sstable_key_validation() + cfg.validation_level = _config.enable_sstable_key_validation ? mutation_fragment_stream_validation_level::clustering_key : mutation_fragment_stream_validation_level::token; cfg.summary_byte_cost = summary_byte_cost(_db_config.sstable_summary_ratio()); diff --git a/sstables/sstables_manager.hh b/sstables/sstables_manager.hh index b9ca978bef..d007a59ee1 100644 --- a/sstables/sstables_manager.hh +++ b/sstables/sstables_manager.hh @@ -95,6 +95,7 @@ class sstables_manager { public: struct config { size_t available_memory; + bool enable_sstable_key_validation = false; }; private: diff --git a/test/lib/test_services.cc b/test/lib/test_services.cc index 30895370bd..05d86b9040 100644 --- a/test/lib/test_services.cc +++ b/test/lib/test_services.cc @@ -253,6 +253,7 @@ test_env::impl::impl(test_env_config cfg, sstable_compressor_factory& scfarg, ss *db_config, sstables::sstables_manager::config{ .available_memory = cfg.available_memory, + .enable_sstable_key_validation = db_config->enable_sstable_key_validation(), }, feature_service, cache_tracker, diff --git a/tools/scylla-sstable.cc b/tools/scylla-sstable.cc index 980ccd0060..f518cd6e5c 100644 --- a/tools/scylla-sstable.cc +++ b/tools/scylla-sstable.cc @@ -2760,6 +2760,7 @@ $ scylla sstable validate /path/to/md-123456-big-Data.db /path/to/md-123457-big- sstables::sstables_manager::config sm_cfg { .available_memory = 1_GiB, + .enable_sstable_key_validation = dbcfg.enable_sstable_key_validation(), }; sstables::storage_manager::config stm_cfg; stm_cfg.object_storage_clients_memory = 100_MiB;