From 6b1fa36cc6fd95164843077c4f6ba6c521471fbf Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 18 May 2026 11:40:56 -0500 Subject: [PATCH 1/2] CNDB-17831: Use 2038 max deletion time in HCD_1 --- src/java/org/apache/cassandra/db/rows/Cell.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/java/org/apache/cassandra/db/rows/Cell.java b/src/java/org/apache/cassandra/db/rows/Cell.java index e630ec0c38a2..3fe7733e9af0 100644 --- a/src/java/org/apache/cassandra/db/rows/Cell.java +++ b/src/java/org/apache/cassandra/db/rows/Cell.java @@ -90,6 +90,9 @@ public static long deletionTimeUnsignedIntegerToLong(int deletionTimeUnsignedInt public static long getVersionedMaxDeletiontionTime() { + if (DatabaseDescriptor.getStorageCompatibilityMode().isBefore(5)) + return Cell.MAX_DELETION_TIME_2038_LEGACY_CAP; + if (DatabaseDescriptor.getStorageCompatibilityMode().disabled()) // The whole cluster is 2016, we're out of the 2038/2106 mixed cluster scenario. Shortcut to avoid the 'minClusterVersion' volatile read return Cell.MAX_DELETION_TIME; From cc4d6c623c9f018ec2a4137be69de51993565526 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 18 May 2026 14:17:47 -0500 Subject: [PATCH 2/2] CNDB-17831: Skip improved max TTL test in pre-5.0 compatibility modes --- .../apache/cassandra/cql3/validation/operations/TTLTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/TTLTest.java b/test/unit/org/apache/cassandra/cql3/validation/operations/TTLTest.java index 609f17a5ee5d..5325aaac1a1b 100644 --- a/test/unit/org/apache/cassandra/cql3/validation/operations/TTLTest.java +++ b/test/unit/org/apache/cassandra/cql3/validation/operations/TTLTest.java @@ -48,7 +48,6 @@ import org.apache.cassandra.tools.ToolRunner; import org.apache.cassandra.tools.ToolRunner.ToolResult; import org.apache.cassandra.utils.Clock; -import org.apache.cassandra.utils.StorageCompatibilityMode; import org.assertj.core.data.Offset; import static org.apache.cassandra.config.CassandraRelevantProperties.TEST_UTIL_ALLOW_TOOL_REINIT_FOR_TEST; @@ -230,7 +229,7 @@ public void testRejectExpirationOverflowPolicy() throws Throwable @Test public void testImprovedMaxTTL() { - Assume.assumeTrue(DatabaseDescriptor.getStorageCompatibilityMode() != StorageCompatibilityMode.CASSANDRA_4); + Assume.assumeFalse(DatabaseDescriptor.getStorageCompatibilityMode().isBefore(5)); createTable("CREATE TABLE %s (k int PRIMARY KEY, i int)"); disableCompaction(); long t0 = Clock.Global.currentTimeMillis();