From 8d11662d6d2a4a91c25f17aa70e2f56208cd7eb1 Mon Sep 17 00:00:00 2001 From: David Capwell Date: Fri, 9 Jan 2026 12:30:38 -0800 Subject: [PATCH] When level compaction validates its table properties, it used the wrong default value for sstable_size_in_mb which allowed properties that would later be rejected at runtime patch by David Capwell; reviewed by Ariel Weisberg for CASSANDRA-20570 --- CHANGES.txt | 1 + .../cassandra/db/compaction/LeveledCompactionStrategy.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 7937add486..9c7596301e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 5.1 + * When level compaction validates its table properties, it used the wrong default value for sstable_size_in_mb which allowed properties that would later be rejected at runtime (CASSANDRA-20570) * Fix off-by-one bug in exponential backoff for repair retry config (CASSANDRA-21102) * Move training parameters for Zstd dictionary compression to CQL (CASSANDRA-21078) * Add configuration for sorted imports in source files (CASSANDRA-17925) diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index 527a1e8c65..438c9da182 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -594,7 +594,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy int fanoutSize; // Validate the sstable_size option - String size = options.containsKey(SSTABLE_SIZE_OPTION) ? options.get(SSTABLE_SIZE_OPTION) : "1"; + String size = options.containsKey(SSTABLE_SIZE_OPTION) ? options.get(SSTABLE_SIZE_OPTION) : String.valueOf(DEFAULT_MAX_SSTABLE_SIZE_MIB); try { ssSize = Integer.parseInt(size);