From 567e93ba3b32a2146bdd57504fd59bfa471e30ec Mon Sep 17 00:00:00 2001 From: Caleb Rackliffe Date: Mon, 27 Oct 2025 15:40:24 -0500 Subject: [PATCH] ninja-fix: Make sure the MutationJournal starts before trying to create tracked keyspaces in unit-level tests that call SchemaLoader.schemaDefinition() --- .../org/apache/cassandra/db/commitlog/CommitLogStressTest.java | 2 ++ .../apache/cassandra/db/MutationVerbHandlerOutOfRangeTest.java | 2 ++ .../cassandra/db/ReadCommandVerbHandlerOutOfRangeTest.java | 2 ++ .../org/apache/cassandra/db/ReadCommandVerbHandlerTest.java | 2 ++ test/unit/org/apache/cassandra/dht/BootStrapperTest.java | 2 ++ .../repair/RepairMessageVerbHandlerOutOfRangeTest.java | 2 ++ test/unit/org/apache/cassandra/service/JoinTokenRingTest.java | 2 ++ test/unit/org/apache/cassandra/service/PaxosStateTest.java | 2 ++ .../cassandra/service/WriteResponseHandlerTransientTest.java | 2 ++ .../unit/org/apache/cassandra/service/paxos/PaxosStateTest.java | 2 ++ .../cassandra/service/paxos/PaxosVerbHandlerOutOfRangeTest.java | 2 ++ .../service/reads/repair/RepairedDataVerifierTest.java | 2 ++ test/unit/org/apache/cassandra/streaming/StreamReaderTest.java | 2 ++ .../cassandra/streaming/StreamSessionOwnedRangesTest.java | 2 ++ 14 files changed, 28 insertions(+) diff --git a/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java b/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java index cf2e384769..dc8adb72c9 100644 --- a/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java +++ b/test/long/org/apache/cassandra/db/commitlog/CommitLogStressTest.java @@ -53,6 +53,7 @@ import org.apache.cassandra.io.compress.LZ4Compressor; import org.apache.cassandra.io.compress.SnappyCompressor; import org.apache.cassandra.io.util.DataInputBuffer; import org.apache.cassandra.io.util.DataInputPlus; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.security.EncryptionContext; import org.apache.cassandra.security.EncryptionContextGenerator; @@ -118,6 +119,7 @@ public abstract class CommitLogStressTest } SchemaLoader.loadSchema(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(""); // leave def. blank to maintain old behaviour CommitLog.instance.stopUnsafe(true); diff --git a/test/unit/org/apache/cassandra/db/MutationVerbHandlerOutOfRangeTest.java b/test/unit/org/apache/cassandra/db/MutationVerbHandlerOutOfRangeTest.java index b063d32f66..b4b5cabe9b 100644 --- a/test/unit/org/apache/cassandra/db/MutationVerbHandlerOutOfRangeTest.java +++ b/test/unit/org/apache/cassandra/db/MutationVerbHandlerOutOfRangeTest.java @@ -43,6 +43,7 @@ import org.apache.cassandra.net.IVerbHandler; import org.apache.cassandra.net.Message; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.net.Verb; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.ColumnMetadata; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableMetadata; @@ -76,6 +77,7 @@ public class MutationVerbHandlerOutOfRangeTest public static void init() throws Exception { ServerTestUtils.prepareServerNoRegister(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); ServerTestUtils.markCMS(); StorageService.instance.unsafeSetInitialized(); diff --git a/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerOutOfRangeTest.java b/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerOutOfRangeTest.java index 9fbc3bcca9..2429a2fa9f 100644 --- a/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerOutOfRangeTest.java +++ b/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerOutOfRangeTest.java @@ -42,6 +42,7 @@ import org.apache.cassandra.metrics.StorageMetrics; import org.apache.cassandra.net.Message; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.net.Verb; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.service.StorageService; @@ -75,6 +76,7 @@ public class ReadCommandVerbHandlerOutOfRangeTest public static void init() throws Throwable { ServerTestUtils.prepareServerNoRegister(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); ServerTestUtils.markCMS(); metadata_nonreplicated = Schema.instance.getTableMetadata(KEYSPACE_NONREPLICATED, TABLE); diff --git a/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerTest.java b/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerTest.java index 1542e03f4b..d2f3e52957 100644 --- a/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerTest.java +++ b/test/unit/org/apache/cassandra/db/ReadCommandVerbHandlerTest.java @@ -40,6 +40,7 @@ import org.apache.cassandra.net.Message; import org.apache.cassandra.net.MessageFlag; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.net.ParamType; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.tcm.membership.NodeAddresses; @@ -72,6 +73,7 @@ public class ReadCommandVerbHandlerTest public static void init() throws Throwable { ServerTestUtils.prepareServerNoRegister(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); metadata = Schema.instance.getTableMetadata(KEYSPACE, TABLE); metadata_with_transient = Schema.instance.getTableMetadata(KEYSPACE_WITH_TRANSIENT, TABLE); diff --git a/test/unit/org/apache/cassandra/dht/BootStrapperTest.java b/test/unit/org/apache/cassandra/dht/BootStrapperTest.java index c139acbe3c..1eb89254d1 100644 --- a/test/unit/org/apache/cassandra/dht/BootStrapperTest.java +++ b/test/unit/org/apache/cassandra/dht/BootStrapperTest.java @@ -46,6 +46,7 @@ import org.apache.cassandra.gms.IFailureDetectionEventListener; import org.apache.cassandra.gms.IFailureDetector; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.locator.Replica; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.SchemaConstants; import org.apache.cassandra.service.StorageService; @@ -92,6 +93,7 @@ public class BootStrapperTest oldPartitioner = StorageService.instance.setPartitionerUnsafe(Murmur3Partitioner.instance); ServerTestUtils.prepareServerNoRegister(); SchemaLoader.startGossiper(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition("BootStrapperTest"); RangeStreamer.ALIVE_PREDICATE = Predicates.alwaysTrue(); ServerTestUtils.markCMS(); diff --git a/test/unit/org/apache/cassandra/repair/RepairMessageVerbHandlerOutOfRangeTest.java b/test/unit/org/apache/cassandra/repair/RepairMessageVerbHandlerOutOfRangeTest.java index 4e7f9ba400..e09a4cbe29 100644 --- a/test/unit/org/apache/cassandra/repair/RepairMessageVerbHandlerOutOfRangeTest.java +++ b/test/unit/org/apache/cassandra/repair/RepairMessageVerbHandlerOutOfRangeTest.java @@ -49,6 +49,7 @@ import org.apache.cassandra.repair.messages.RepairMessage; import org.apache.cassandra.repair.messages.ValidationResponse; import org.apache.cassandra.repair.messages.ValidationRequest; import org.apache.cassandra.repair.state.ParticipateState; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableId; import org.apache.cassandra.service.ActiveRepairService; @@ -83,6 +84,7 @@ public class RepairMessageVerbHandlerOutOfRangeTest SchemaLoader.loadSchema(); DatabaseDescriptor.setPartitionerUnsafe(Murmur3Partitioner.instance); ServerTestUtils.recreateCMS(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); ClusterMetadataTestHelper.register(broadcastAddress); ServerTestUtils.markCMS(); diff --git a/test/unit/org/apache/cassandra/service/JoinTokenRingTest.java b/test/unit/org/apache/cassandra/service/JoinTokenRingTest.java index ec2a373ccb..55b5e8dce8 100644 --- a/test/unit/org/apache/cassandra/service/JoinTokenRingTest.java +++ b/test/unit/org/apache/cassandra/service/JoinTokenRingTest.java @@ -34,6 +34,7 @@ import org.apache.cassandra.distributed.test.log.ClusterMetadataTestHelper; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.index.SecondaryIndexManager; import org.apache.cassandra.index.StubIndex; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.tcm.ClusterMetadata; import org.apache.cassandra.utils.FBUtilities; @@ -45,6 +46,7 @@ public class JoinTokenRingTest DatabaseDescriptor.daemonInitialization(); ServerTestUtils.prepareServerNoRegister(); SchemaLoader.startGossiper(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition("JoinTokenRingTest"); } diff --git a/test/unit/org/apache/cassandra/service/PaxosStateTest.java b/test/unit/org/apache/cassandra/service/PaxosStateTest.java index e73147d97e..f9c089c437 100644 --- a/test/unit/org/apache/cassandra/service/PaxosStateTest.java +++ b/test/unit/org/apache/cassandra/service/PaxosStateTest.java @@ -21,6 +21,7 @@ import java.nio.ByteBuffer; import com.google.common.collect.Iterables; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.service.paxos.Ballot; import org.apache.cassandra.service.paxos.v1.PrepareVerbHandler; @@ -63,6 +64,7 @@ public class PaxosStateTest public static void setUpClass() throws Throwable { SchemaLoader.loadSchema(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition("PaxosStateTest"); } diff --git a/test/unit/org/apache/cassandra/service/WriteResponseHandlerTransientTest.java b/test/unit/org/apache/cassandra/service/WriteResponseHandlerTransientTest.java index 8f0381e210..93d369762f 100644 --- a/test/unit/org/apache/cassandra/service/WriteResponseHandlerTransientTest.java +++ b/test/unit/org/apache/cassandra/service/WriteResponseHandlerTransientTest.java @@ -45,6 +45,7 @@ import org.apache.cassandra.locator.ReplicaCollection; import org.apache.cassandra.locator.ReplicaLayout; import org.apache.cassandra.locator.ReplicaPlan; import org.apache.cassandra.locator.ReplicaPlans; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.KeyspaceParams; import org.apache.cassandra.tcm.Epoch; import org.apache.cassandra.utils.ByteBufferUtil; @@ -88,6 +89,7 @@ public class WriteResponseHandlerTransientTest public static void setupClass() throws Throwable { SchemaLoader.loadSchema(); + MutationJournal.instance.start(); DatabaseDescriptor.setMutationTrackingEnabled(true); DatabaseDescriptor.setTransientReplicationEnabledUnsafe(true); DatabaseDescriptor.setPartitionerUnsafe(Murmur3Partitioner.instance); diff --git a/test/unit/org/apache/cassandra/service/paxos/PaxosStateTest.java b/test/unit/org/apache/cassandra/service/paxos/PaxosStateTest.java index 3778044233..a7da95fd2f 100644 --- a/test/unit/org/apache/cassandra/service/paxos/PaxosStateTest.java +++ b/test/unit/org/apache/cassandra/service/paxos/PaxosStateTest.java @@ -23,6 +23,7 @@ import java.util.function.Function; import com.google.common.collect.Iterables; import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.TableMetadata; import org.junit.AfterClass; @@ -56,6 +57,7 @@ public class PaxosStateTest public static void setUpClass() throws Throwable { SchemaLoader.loadSchema(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition("PaxosStateTest"); metadata = Keyspace.open("PaxosStateTestKeyspace1").getColumnFamilyStore("Standard1").metadata.get(); metadata.withSwapped(metadata.params.unbuild().gcGraceSeconds(3600).build()); diff --git a/test/unit/org/apache/cassandra/service/paxos/PaxosVerbHandlerOutOfRangeTest.java b/test/unit/org/apache/cassandra/service/paxos/PaxosVerbHandlerOutOfRangeTest.java index a788c0ff9d..a11f20a743 100644 --- a/test/unit/org/apache/cassandra/service/paxos/PaxosVerbHandlerOutOfRangeTest.java +++ b/test/unit/org/apache/cassandra/service/paxos/PaxosVerbHandlerOutOfRangeTest.java @@ -38,6 +38,7 @@ import org.apache.cassandra.metrics.StorageMetrics; import org.apache.cassandra.net.Message; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.net.Verb; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.service.StorageService; @@ -75,6 +76,7 @@ public class PaxosVerbHandlerOutOfRangeTest // PaxosV1 out of range tests - V2 i public static void init() throws Exception { ServerTestUtils.prepareServerNoRegister(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); ServerTestUtils.markCMS(); StorageService.instance.unsafeSetInitialized(); diff --git a/test/unit/org/apache/cassandra/service/reads/repair/RepairedDataVerifierTest.java b/test/unit/org/apache/cassandra/service/reads/repair/RepairedDataVerifierTest.java index 1477536acb..4e04b3e659 100644 --- a/test/unit/org/apache/cassandra/service/reads/repair/RepairedDataVerifierTest.java +++ b/test/unit/org/apache/cassandra/service/reads/repair/RepairedDataVerifierTest.java @@ -37,6 +37,7 @@ import org.apache.cassandra.db.filter.DataLimits; import org.apache.cassandra.db.filter.RowFilter; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.metrics.TableMetrics; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.Schema; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.utils.ByteBufferUtil; @@ -61,6 +62,7 @@ public class RepairedDataVerifierTest public static void init() { SchemaLoader.loadSchema(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); DatabaseDescriptor.reportUnconfirmedRepairedDataMismatches(true); } diff --git a/test/unit/org/apache/cassandra/streaming/StreamReaderTest.java b/test/unit/org/apache/cassandra/streaming/StreamReaderTest.java index dc37ce19b8..9fa30bef3a 100644 --- a/test/unit/org/apache/cassandra/streaming/StreamReaderTest.java +++ b/test/unit/org/apache/cassandra/streaming/StreamReaderTest.java @@ -65,6 +65,7 @@ import org.apache.cassandra.metrics.StorageMetrics; import org.apache.cassandra.net.AsyncStreamingOutputPlus; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.replication.ImmutableCoordinatorLogOffsets; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.schema.TableMetadata; import org.apache.cassandra.streaming.async.StreamCompressionSerializer; import org.apache.cassandra.streaming.messages.StreamMessageHeader; @@ -95,6 +96,7 @@ public class StreamReaderTest DatabaseDescriptor.daemonInitialization(); DatabaseDescriptor.setPartitionerUnsafe(Murmur3Partitioner.instance); ServerTestUtils.prepareServerNoRegister(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); ServerTestUtils.markCMS(); } diff --git a/test/unit/org/apache/cassandra/streaming/StreamSessionOwnedRangesTest.java b/test/unit/org/apache/cassandra/streaming/StreamSessionOwnedRangesTest.java index 94af0f5d15..57ff0276b6 100644 --- a/test/unit/org/apache/cassandra/streaming/StreamSessionOwnedRangesTest.java +++ b/test/unit/org/apache/cassandra/streaming/StreamSessionOwnedRangesTest.java @@ -37,6 +37,7 @@ import org.apache.cassandra.distributed.test.log.ClusterMetadataTestHelper; import org.apache.cassandra.locator.InetAddressAndPort; import org.apache.cassandra.locator.RangesAtEndpoint; import org.apache.cassandra.metrics.StorageMetrics; +import org.apache.cassandra.replication.MutationJournal; import org.apache.cassandra.service.StorageService; import org.apache.cassandra.streaming.messages.SessionFailedMessage; import org.apache.cassandra.streaming.messages.StreamMessage; @@ -73,6 +74,7 @@ public class StreamSessionOwnedRangesTest SchemaLoader.loadSchema(); DatabaseDescriptor.setPartitionerUnsafe(Murmur3Partitioner.instance); ServerTestUtils.recreateCMS(); + MutationJournal.instance.start(); SchemaLoader.schemaDefinition(TEST_NAME); ClusterMetadataTestHelper.register(broadcastAddress); ServerTestUtils.markCMS();