From 43eb2a4bdee169e0f9338afab4f70009604997b2 Mon Sep 17 00:00:00 2001 From: Marcus Eriksson Date: Tue, 16 Jan 2024 14:13:27 +0100 Subject: [PATCH] Avoid trying to get replication factor for system_cluster_metadata before we have a CMS Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-19269 --- src/java/org/apache/cassandra/locator/MetaStrategy.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/java/org/apache/cassandra/locator/MetaStrategy.java b/src/java/org/apache/cassandra/locator/MetaStrategy.java index ac9685227e..a16d4e68bb 100644 --- a/src/java/org/apache/cassandra/locator/MetaStrategy.java +++ b/src/java/org/apache/cassandra/locator/MetaStrategy.java @@ -60,7 +60,9 @@ public class MetaStrategy extends SystemStrategy @Override public ReplicationFactor getReplicationFactor() { - ClusterMetadata metadata = ClusterMetadata.current(); + ClusterMetadata metadata = ClusterMetadata.currentNullable(); + if (metadata == null || metadata.epoch.isEqualOrBefore(Epoch.FIRST)) + return ReplicationFactor.fullOnly(1); int rf = metadata.placements.get(ReplicationParams.meta(metadata)).writes.forRange(entireRange).get().byEndpoint.size(); return ReplicationFactor.fullOnly(rf); }