From 64bc8d2f7d0093b6c586ff7f1aff6a2ae59b59ac Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 8 Aug 2023 09:55:43 +0800 Subject: [PATCH] config: drop "experimental" option "experimental" was marked deprecated in 8b917f7c. this change was included since Scylla 4.6. now that 5.3 has been branched, this change will be included 5.4. this should be long enough for the user's turn around if this option is ever used. the dtests using this option has been audited and updated accordingly. and the unit testing this option is removed as well. Signed-off-by: Kefu Chai --- db/config.cc | 9 +-------- db/config.hh | 2 -- test/boost/config_test.cc | 12 ------------ tools/schema_loader.cc | 1 - 4 files changed, 1 insertion(+), 23 deletions(-) diff --git a/db/config.cc b/db/config.cc index 5dc5cd0427..f0cdd3e9ef 100644 --- a/db/config.cc +++ b/db/config.cc @@ -861,7 +861,7 @@ db::config::config(std::shared_ptr exts) , developer_mode(this, "developer_mode", value_status::Used, DEVELOPER_MODE_DEFAULT, "Relax environment checks. Setting to true can reduce performance and reliability significantly.") , skip_wait_for_gossip_to_settle(this, "skip_wait_for_gossip_to_settle", value_status::Used, -1, "An integer to configure the wait for gossip to settle. -1: wait normally, 0: do not wait at all, n: wait for at most n polls. Same as -Dcassandra.skip_wait_for_gossip_to_settle in cassandra.") , force_gossip_generation(this, "force_gossip_generation", liveness::LiveUpdate, value_status::Used, -1 , "Force gossip to use the generation number provided by user") - , experimental(this, "experimental", value_status::Used, false, "[Deprecated] Set to true to unlock all experimental features (except 'consistent-topology-changes' feature, which should be enabled explicitly via 'experimental-features' option). Please use 'experimental-features', instead.") + , experimental(this, "experimental", value_status::Unused, false, "[Deprecated] Set to true to unlock all experimental features (except 'consistent-topology-changes' feature, which should be enabled explicitly via 'experimental-features' option). Please use 'experimental-features', instead.") , experimental_features(this, "experimental_features", value_status::Used, {}, experimental_features_help_string()) , lsa_reclamation_step(this, "lsa_reclamation_step", value_status::Used, 1, "Minimum number of segments to reclaim in a single step") , prometheus_port(this, "prometheus_port", value_status::Used, 9180, "Prometheus port, set to zero to disable") @@ -1147,13 +1147,6 @@ db::fs::path db::config::get_conf_sub(db::fs::path sub) { } bool db::config::check_experimental(experimental_features_t::feature f) const { - if (experimental() - && f != experimental_features_t::feature::UNUSED - && f != experimental_features_t::feature::CONSISTENT_TOPOLOGY_CHANGES - && f != experimental_features_t::feature::BROADCAST_TABLES - && f != experimental_features_t::feature::TABLETS) { - return true; - } const auto& optval = experimental_features(); return find(begin(optval), end(optval), enum_option{f}) != end(optval); } diff --git a/db/config.hh b/db/config.hh index d73e13581c..553bba1b1b 100644 --- a/db/config.hh +++ b/db/config.hh @@ -97,8 +97,6 @@ namespace db { /// Enumeration of all valid values for the `experimental` config entry. struct experimental_features_t { - // NOTE: CONSISTENT_TOPOLOGY_CHANGES and BROADCAST_TABLES features are not enabled via `experimental` umbrella flag. - // These options should be enabled explicitly. enum class feature { UNUSED, UDF, diff --git a/test/boost/config_test.cc b/test/boost/config_test.cc index d88a46312c..5549ad1912 100644 --- a/test/boost/config_test.cc +++ b/test/boost/config_test.cc @@ -1035,18 +1035,6 @@ SEASTAR_TEST_CASE(test_parse_experimental_features_invalid) { return make_ready_future(); } -SEASTAR_TEST_CASE(test_parse_experimental_true) { - auto cfg_ptr = std::make_unique(); - config& cfg = *cfg_ptr; - cfg.read_from_yaml("experimental: true", throw_on_error); - BOOST_CHECK(!cfg.check_experimental(ef::UNUSED)); - BOOST_CHECK(cfg.check_experimental(ef::UDF)); - BOOST_CHECK(cfg.check_experimental(ef::ALTERNATOR_STREAMS)); - BOOST_CHECK(!cfg.check_experimental(ef::CONSISTENT_TOPOLOGY_CHANGES)); - BOOST_CHECK(cfg.check_experimental(ef::KEYSPACE_STORAGE_OPTIONS)); - return make_ready_future(); -} - SEASTAR_TEST_CASE(test_parse_experimental_false) { auto cfg_ptr = std::make_unique(); config& cfg = *cfg_ptr; diff --git a/tools/schema_loader.cc b/tools/schema_loader.cc index 3ca25f53c6..208025404e 100644 --- a/tools/schema_loader.cc +++ b/tools/schema_loader.cc @@ -564,7 +564,6 @@ future load_one_schema_from_file(std::filesystem::path path) { schema_ptr load_system_schema(std::string_view keyspace, std::string_view table) { db::config cfg; - cfg.experimental.set(true); cfg.experimental_features.set(db::experimental_features_t::all()); const std::unordered_map> schemas{ {db::schema_tables::NAME, db::schema_tables::all_tables(db::schema_features::full())},