diff --git a/src/java/org/apache/cassandra/locator/DatacenterShardStrategy.java b/src/java/org/apache/cassandra/locator/DatacenterShardStrategy.java index d9edfa6479..339702d181 100644 --- a/src/java/org/apache/cassandra/locator/DatacenterShardStrategy.java +++ b/src/java/org/apache/cassandra/locator/DatacenterShardStrategy.java @@ -97,7 +97,7 @@ public class DatacenterShardStrategy extends AbstractReplicationStrategy int totalReplicas = getReplicationFactor(table); Map remainingReplicas = new HashMap(datacenters.get(table)); Map> dcUsedRacks = new HashMap>(); - Set endpoints = new HashSet(totalReplicas); + Set endpoints = new LinkedHashSet(totalReplicas); // first pass: only collect replicas on unique racks for (Iterator iter = TokenMetadata.ringIterator(tokenMetadata.sortedTokens(), searchToken); diff --git a/src/java/org/apache/cassandra/locator/RackAwareStrategy.java b/src/java/org/apache/cassandra/locator/RackAwareStrategy.java index 8b50d500b8..d64adb0baf 100644 --- a/src/java/org/apache/cassandra/locator/RackAwareStrategy.java +++ b/src/java/org/apache/cassandra/locator/RackAwareStrategy.java @@ -21,7 +21,7 @@ package org.apache.cassandra.locator; import java.net.InetAddress; import java.util.ArrayList; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.Iterator; import java.util.Set; @@ -47,7 +47,7 @@ public class RackAwareStrategy extends AbstractReplicationStrategy public Set calculateNaturalEndpoints(Token token, TokenMetadata metadata, String table) { int replicas = getReplicationFactor(table); - Set endpoints = new HashSet(replicas); + Set endpoints = new LinkedHashSet(replicas); ArrayList tokens = metadata.sortedTokens(); if (tokens.isEmpty()) diff --git a/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java b/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java index 3ffda5d4c7..ba47f30aa9 100644 --- a/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java +++ b/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java @@ -21,7 +21,7 @@ package org.apache.cassandra.locator; import java.net.InetAddress; import java.util.ArrayList; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.Iterator; import java.util.Set; @@ -45,7 +45,7 @@ public class RackUnawareStrategy extends AbstractReplicationStrategy { int replicas = getReplicationFactor(table); ArrayList tokens = metadata.sortedTokens(); - Set endpoints = new HashSet(replicas); + Set endpoints = new LinkedHashSet(replicas); if (tokens.isEmpty()) return endpoints;