mirror of https://github.com/apache/cassandra
Actually make ClusterMetadata.placements private
This commit is contained in:
parent
98cea35aa4
commit
730bb7e1d5
|
|
@ -276,7 +276,7 @@ final class HintsDispatcher implements AutoCloseable
|
|||
// Also may need to apply locally because it's possible this is from the batchlog
|
||||
// and we never applied it locally
|
||||
// TODO (review): Additional error handling necessary? Hints are lossy
|
||||
DataPlacement dataPlacement = cm.placements.get(cm.schema.getKeyspace(mutation.getKeyspaceName()).getMetadata().params.replication);
|
||||
DataPlacement dataPlacement = cm.placement(cm.schema.getKeyspace(mutation.getKeyspaceName()).getMetadata().params.replication);
|
||||
VersionedEndpoints.ForToken forToken = dataPlacement.writes.forToken(mutation.key().getToken());
|
||||
Replica self = forToken.get().selfIfPresent();
|
||||
if (self != null)
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ public class AccordTopology
|
|||
|
||||
public static Topology createAccordTopology(ClusterMetadata metadata, ShardLookup lookup)
|
||||
{
|
||||
return createAccordTopology(metadata.epoch, metadata.schema, metadata.placements, metadata.directory, metadata.accordFastPath, lookup, metadata.accordStaleReplicas);
|
||||
return createAccordTopology(metadata.epoch, metadata.schema, metadata.placements(), metadata.directory, metadata.accordFastPath, lookup, metadata.accordStaleReplicas);
|
||||
}
|
||||
|
||||
public static Topology createAccordTopology(ClusterMetadata metadata, Topology current)
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ public class ClusterMetadata
|
|||
public final DistributedSchema schema;
|
||||
public final Directory directory;
|
||||
public final TokenMap tokenMap;
|
||||
public final DataPlacements placements;
|
||||
private final DataPlacements placements;
|
||||
public final AccordFastPath accordFastPath;
|
||||
public final LockedRanges lockedRanges;
|
||||
public final InProgressSequences inProgressSequences;
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class MetadataKeys
|
|||
.put(SCHEMA, cm -> cm.schema)
|
||||
.put(NODE_DIRECTORY, cm -> cm.directory)
|
||||
.put(TOKEN_MAP, cm -> cm.tokenMap)
|
||||
.put(DATA_PLACEMENTS, cm -> cm.placements)
|
||||
.put(DATA_PLACEMENTS, ClusterMetadata::placements)
|
||||
.put(LOCKED_RANGES, cm -> cm.lockedRanges)
|
||||
.put(IN_PROGRESS_SEQUENCES, cm -> cm.inProgressSequences)
|
||||
.put(ACCORD_FAST_PATH, cm -> cm.accordFastPath)
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public class AccordMarkStale implements Transformation
|
|||
|
||||
for (KeyspaceMetadata keyspace : prev.schema.getKeyspaces().without(SchemaConstants.REPLICATED_SYSTEM_KEYSPACE_NAMES))
|
||||
{
|
||||
List<AccordTopology.KeyspaceShard> shards = AccordTopology.KeyspaceShard.forKeyspace(keyspace, prev.placements, prev.directory);
|
||||
List<AccordTopology.KeyspaceShard> shards = AccordTopology.KeyspaceShard.forKeyspace(keyspace, prev.placements(), prev.directory);
|
||||
|
||||
for (AccordTopology.KeyspaceShard shard : shards)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -772,7 +772,7 @@ public class CMSOfflineTool implements Runnable
|
|||
throw new IllegalArgumentException("Keyspace " + keyspace + " not found in cluster metadata.");
|
||||
}
|
||||
|
||||
DataPlacement placement = metadata.placements.get(keyspaceMetadata.params.replication);
|
||||
DataPlacement placement = metadata.placement(keyspaceMetadata.params.replication);
|
||||
List<Object[]> rows = new ArrayList<>();
|
||||
rows.addAll(replicaGroupsToRows(placement.reads, "read"));
|
||||
rows.addAll(replicaGroupsToRows(placement.writes, "write"));
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ public class AccordTopologyUtils
|
|||
{
|
||||
ReplicationParams replication = keyspace.params.replication;
|
||||
AbstractReplicationStrategy strategy = AbstractReplicationStrategy.createReplicationStrategy(keyspace.name, replication);
|
||||
DataPlacements.Builder placements = metadata.placements.unbuild();
|
||||
DataPlacements.Builder placements = metadata.placements().unbuild();
|
||||
DataPlacement placement = strategy.calculateDataPlacement(Epoch.EMPTY, metadata.tokenMap.toRanges(), metadata);
|
||||
placements.with(replication, placement);
|
||||
metadata = transformer.with(placements.build()).build().metadata;
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ public class EpochSyncTest
|
|||
private static boolean joined(ClusterMetadata metadata, Node.Id id)
|
||||
{
|
||||
NodeAddresses address = metadata.directory.getNodeAddresses(new NodeId(id.id));
|
||||
return metadata.placements.get(replication_params).reads.byEndpoint().keySet().contains(address.broadcastAddress);
|
||||
return metadata.placement(replication_params).reads.byEndpoint().keySet().contains(address.broadcastAddress);
|
||||
}
|
||||
|
||||
public enum EpochTracker { topologyManager, accordSyncPropagator }
|
||||
|
|
@ -615,7 +615,7 @@ public class EpochSyncTest
|
|||
{
|
||||
Topology t = AccordTopology.createAccordTopology(current);
|
||||
Ranges ranges = t.ranges().mergeTouching();
|
||||
if (!current.placements.get(replication_params).reads.isEmpty())
|
||||
if (!current.placement(replication_params).reads.isEmpty())
|
||||
Assertions.assertThat(ranges).hasSize(1);
|
||||
cms.setMetadata(current);
|
||||
for (Node.Id id : status(s -> s != Status.Removed))
|
||||
|
|
@ -721,7 +721,7 @@ public class EpochSyncTest
|
|||
case Registered:
|
||||
Invariants.require(!t.nodes().contains(id), "Node was in Init state but present in the Topology!");
|
||||
Invariants.require(current.directory.peerId(address(id)) != null, "Node exists but not in TCM");
|
||||
if (current.placements.get(replication_params).writes.byEndpoint().keySet().contains(address(id)))
|
||||
if (current.placement(replication_params).writes.byEndpoint().keySet().contains(address(id)))
|
||||
status = Status.Joining;
|
||||
break;
|
||||
case Joining:
|
||||
|
|
|
|||
Loading…
Reference in New Issue