sstables: add ms to all_sstable_versions

Add `ms` to the lists of sstable formats.
This will cause it to be included in various unit tests.
This commit is contained in:
Michał Chojnowski
2025-09-23 02:59:04 +02:00
parent 9155eeed10
commit fe9f5f4da2
3 changed files with 24 additions and 10 deletions

View File

@@ -17,24 +17,20 @@ namespace sstables {
enum class sstable_version_types { ka, la, mc, md, me, ms };
enum class sstable_format_types { big };
constexpr std::array<sstable_version_types, 5> all_sstable_versions = {
constexpr std::array<sstable_version_types, 6> all_sstable_versions = {
sstable_version_types::ka,
sstable_version_types::la,
sstable_version_types::mc,
sstable_version_types::md,
sstable_version_types::me,
// FIXME: Uncomment after tests are prepared for the new
// version. This will happen in the same series.
// sstable_version_types::ms,
sstable_version_types::ms,
};
constexpr std::array<sstable_version_types, 3> writable_sstable_versions = {
constexpr std::array<sstable_version_types, 4> writable_sstable_versions = {
sstable_version_types::mc,
sstable_version_types::md,
sstable_version_types::me,
// FIXME: Uncomment after tests are prepared for the new
// version. This will happen in the same series.
// sstable_version_types::ms,
sstable_version_types::ms,
};
constexpr sstable_version_types oldest_writable_sstable_format = sstable_version_types::mc;

View File

@@ -19,10 +19,11 @@
using namespace sstables;
using namespace std::chrono_literals;
constexpr std::array<sstable_version_types, 3> expected_writable_sstable_versions = {
constexpr std::array<sstable_version_types, 4> expected_writable_sstable_versions = {
sstable_version_types::mc,
sstable_version_types::md,
sstable_version_types::me,
sstable_version_types::ms,
};
// Add/remove test cases if writable_sstable_versions changes
@@ -30,6 +31,7 @@ static_assert(writable_sstable_versions.size() == expected_writable_sstable_vers
static_assert(writable_sstable_versions[0] == expected_writable_sstable_versions[0], "writable_sstable_versions changed");
static_assert(writable_sstable_versions[1] == expected_writable_sstable_versions[1], "writable_sstable_versions changed");
static_assert(writable_sstable_versions[2] == expected_writable_sstable_versions[2], "writable_sstable_versions changed");
static_assert(writable_sstable_versions[3] == expected_writable_sstable_versions[3], "writable_sstable_versions changed");
future <> test_schema_changes_int(sstable_version_types sstable_vtype) {
return sstables::test_env::do_with_async([] (sstables::test_env& env) {
@@ -79,3 +81,7 @@ SEASTAR_TEST_CASE(test_schema_changes_md) {
SEASTAR_TEST_CASE(test_schema_changes_me) {
return test_schema_changes_int(sstable_version_types::me);
}
SEASTAR_TEST_CASE(test_schema_changes_ms) {
return test_schema_changes_int(sstable_version_types::ms);
}

View File

@@ -142,8 +142,20 @@ SEASTAR_TEST_CASE(test_sstable_conforms_to_mutation_source_md_large) {
return test_sstable_conforms_to_mutation_source(writable_sstable_versions[1], block_sizes[2]);
}
SEASTAR_TEST_CASE(test_sstable_conforms_to_mutation_source_ms_tiny) {
return test_sstable_conforms_to_mutation_source(sstable_version_types::ms, block_sizes[0]);
}
SEASTAR_TEST_CASE(test_sstable_conforms_to_mutation_source_ms_medium) {
return test_sstable_conforms_to_mutation_source(sstable_version_types::ms, block_sizes[1]);
}
SEASTAR_TEST_CASE(test_sstable_conforms_to_mutation_source_ms_large) {
return test_sstable_conforms_to_mutation_source(sstable_version_types::ms, block_sizes[2]);
}
// This SCYLLA_ASSERT makes sure we don't miss writable vertions
static_assert(writable_sstable_versions.size() == 3);
static_assert(writable_sstable_versions.size() == 4);
// `keys` may contain repetitions.
// The generated position ranges are non-empty. The start of each range in the vector is greater than the end of the previous range.