feature_service: add TABLET_OPTIONS cluster schema feature

To be used for enabling per-table tablet options.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
This commit is contained in:
Benny Halevy
2025-02-03 17:00:46 +02:00
parent 3bb19e9ac9
commit ad8b0649ff
3 changed files with 7 additions and 1 deletions

View File

@@ -30,6 +30,9 @@ enum class schema_feature {
// Unused. Defined for backward compatibility only
IN_MEMORY_TABLES,
// Per-table tablet options
TABLET_OPTIONS,
};
using schema_features = enum_set<super_enum<schema_feature,
@@ -39,7 +42,8 @@ using schema_features = enum_set<super_enum<schema_feature,
schema_feature::SCYLLA_AGGREGATES,
schema_feature::TABLE_DIGEST_INSENSITIVE_TO_EXPIRY,
schema_feature::GROUP0_SCHEMA_VERSIONING,
schema_feature::IN_MEMORY_TABLES
schema_feature::IN_MEMORY_TABLES,
schema_feature::TABLET_OPTIONS
>>;
}

View File

@@ -237,6 +237,7 @@ db::schema_features feature_service::cluster_schema_features() const {
f.set_if<db::schema_feature::TABLE_DIGEST_INSENSITIVE_TO_EXPIRY>(table_digest_insensitive_to_expiry);
f.set_if<db::schema_feature::GROUP0_SCHEMA_VERSIONING>(group0_schema_versioning);
f.set_if<db::schema_feature::IN_MEMORY_TABLES>(bool(in_memory_tables));
f.set_if<db::schema_feature::TABLET_OPTIONS>(bool(tablet_options));
return f;
}

View File

@@ -163,6 +163,7 @@ public:
gms::feature workload_prioritization { *this, "WORKLOAD_PRIORITIZATION"sv };
gms::feature file_stream { *this, "FILE_STREAM"sv };
gms::feature compression_dicts { *this, "COMPRESSION_DICTS"sv };
gms::feature tablet_options { *this, "TABLET_OPTIONS"sv };
public:
const std::unordered_map<sstring, std::reference_wrapper<feature>>& registered_features() const;