Github user ifesdjeen commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/224#discussion_r197130101
--- Diff:
src/java/org/apache/cassandra/locator/OldNetworkTopologyStrategy.java ---
@@ -36,27 +36,30 @@
*/
public class OldNetworkTopologyStrategy extends AbstractReplicationStrategy
{
+ private final ReplicationFactor rf;
public OldNetworkTopologyStrategy(String keyspaceName, TokenMetadata
tokenMetadata, IEndpointSnitch snitch, Map<String, String> configOptions)
{
super(keyspaceName, tokenMetadata, snitch, configOptions);
+ this.rf =
ReplicationFactor.fromString(this.configOptions.get("replication_factor"));
}
- public List<InetAddressAndPort> calculateNaturalEndpoints(Token token,
TokenMetadata metadata)
+ public ReplicaList calculateNaturalReplicas(Token token, TokenMetadata
metadata)
{
- int replicas = getReplicationFactor();
- List<InetAddressAndPort> endpoints = new ArrayList<>(replicas);
+ ReplicaList replicas = new ReplicaList(rf.replicas);
ArrayList<Token> tokens = metadata.sortedTokens();
if (tokens.isEmpty())
- return endpoints;
+ return replicas;
Iterator<Token> iter = TokenMetadata.ringIterator(tokens, token,
false);
Token primaryToken = iter.next();
- endpoints.add(metadata.getEndpoint(primaryToken));
+ Token previousToken = metadata.getPredecessor(primaryToken);
+ assert rf.trans == 0: "support transient replicas";
--- End diff --
Should we move an assert to the top?
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]