This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch cep-21-tcm in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 55bdbcde6e3d75cfb6371ead0733b3ce8a376797 Author: Marcus Eriksson <[email protected]> AuthorDate: Fri Mar 31 16:03:47 2023 +0200 [CEP-21] During startup request replay from CMS asynchronously patch by Marcus Eriksson; reviewed by Alex Petrov and Sam Tunnicliffe for CASSANDRA-18456 --- src/java/org/apache/cassandra/locator/ReplicaLayout.java | 5 +---- src/java/org/apache/cassandra/schema/TableMetadata.java | 7 +------ src/java/org/apache/cassandra/service/CassandraDaemon.java | 4 ++-- src/java/org/apache/cassandra/tcm/RemoteProcessor.java | 2 +- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/java/org/apache/cassandra/locator/ReplicaLayout.java b/src/java/org/apache/cassandra/locator/ReplicaLayout.java index 4d4d6fc363..82d9dd31f5 100644 --- a/src/java/org/apache/cassandra/locator/ReplicaLayout.java +++ b/src/java/org/apache/cassandra/locator/ReplicaLayout.java @@ -27,7 +27,6 @@ import org.apache.cassandra.dht.Token; import org.apache.cassandra.gms.FailureDetector; import org.apache.cassandra.tcm.Epoch; import org.apache.cassandra.schema.KeyspaceMetadata; -import org.apache.cassandra.tcm.ownership.TokenMap; import org.apache.cassandra.tcm.ClusterMetadata; import org.apache.cassandra.utils.FBUtilities; @@ -401,9 +400,7 @@ public abstract class ReplicaLayout<E extends Endpoints<E>> static EndpointsForRange forNonLocalStategyRangeRead(ClusterMetadata metadata, KeyspaceMetadata keyspace, AbstractBounds<PartitionPosition> range) { - TokenMap tokenMap = metadata.tokenMap; - Token token = tokenMap.nextToken(tokenMap.tokens(), range.right.getToken()); - return metadata.placements.get(keyspace.params.replication).reads.forRange(token); + return metadata.placements.get(keyspace.params.replication).reads.forRange(range.right.getToken()); } static EndpointsForToken forNonLocalStrategyTokenRead(ClusterMetadata metadata, KeyspaceMetadata keyspace, Token token) diff --git a/src/java/org/apache/cassandra/schema/TableMetadata.java b/src/java/org/apache/cassandra/schema/TableMetadata.java index 031fa829b6..dda2c519b1 100644 --- a/src/java/org/apache/cassandra/schema/TableMetadata.java +++ b/src/java/org/apache/cassandra/schema/TableMetadata.java @@ -823,12 +823,7 @@ public class TableMetadata implements SchemaElement partitioner = DatabaseDescriptor.getPartitioner(); if (id == null) - { - // make sure vtables use determiniestic ids so they can be referenced in calls cross-nodes - // see CASSANDRA-17295 - if (DatabaseDescriptor.useDeterministicTableID() || kind == Kind.VIRTUAL) id = TableId.unsafeDeterministic(keyspace, name); - else id = TableId.generate(); - } + id = TableId.unsafeDeterministic(keyspace, name); if (Flag.isCQLTable(flags)) return new TableMetadata(this); diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index aa8921109e..18e5ac5163 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -428,7 +428,7 @@ public class CassandraDaemon exitOrFail(1, "Fatal configuration error", e); } - ClusterMetadataService.instance().replayAndWait(); + ScheduledExecutors.nonPeriodicTasks.execute(() -> ClusterMetadataService.instance().replayAndWait()); // TODO: (TM/alexp), this can be made time-dependent // Because we are writing to the system_distributed keyspace, this should happen after that is created, which @@ -732,7 +732,7 @@ public class CassandraDaemon // jsvc takes care of taking the rest down logger.info("Cassandra shutting down..."); destroyClientTransports(); - //StorageService.instance.setRpcReady(false); + StorageService.instance.setRpcReady(false); if (jmxServer != null) { diff --git a/src/java/org/apache/cassandra/tcm/RemoteProcessor.java b/src/java/org/apache/cassandra/tcm/RemoteProcessor.java index db0310d1a1..6b70918f37 100644 --- a/src/java/org/apache/cassandra/tcm/RemoteProcessor.java +++ b/src/java/org/apache/cassandra/tcm/RemoteProcessor.java @@ -186,7 +186,7 @@ public final class RemoteProcessor implements Processor else { candidates.timeout(from); - logger.error("Got error from {}: {} when sending {}, retrying on {}", from, reason, verb, candidates); + logger.warn("Got error from {}: {} when sending {}, retrying on {}", from, reason, verb, candidates); } promise.tryFailure(null); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
