From 0c7afef8f41c2e3bb113967f58bdf59e5c6a764a Mon Sep 17 00:00:00 2001 From: Amnon Heiman Date: Wed, 28 Dec 2016 12:48:03 +0200 Subject: [PATCH] Keep tokensEndPointMap sorted by the API order This patch change the sorting of tokensEndpointMap so it will use the order returned by the API. See Scylladb/scylla#1945 Signed-off-by: Amnon Heiman --- .../org/apache/cassandra/service/StorageService.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/main/java/org/apache/cassandra/service/StorageService.java b/src/main/java/org/apache/cassandra/service/StorageService.java index 4ea72ed..b59dc4c 100644 --- a/src/main/java/org/apache/cassandra/service/StorageService.java +++ b/src/main/java/org/apache/cassandra/service/StorageService.java @@ -371,16 +371,7 @@ public class StorageService extends MetricsMBean implements StorageServiceMBean, @Override public Map getTokenToEndpointMap() { log(" getTokenToEndpointMap()"); - Map mapInetAddress = client.getMapStrValue("/storage_service/tokens_endpoint"); - // in order to preserve tokens in ascending order, we use LinkedHashMap - // here - Map mapString = new LinkedHashMap<>(mapInetAddress.size()); - List tokens = new ArrayList<>(mapInetAddress.keySet()); - Collections.sort(tokens); - for (String token : tokens) { - mapString.put(token, mapInetAddress.get(token)); - } - return mapString; + return client.getMapStrValue("/storage_service/tokens_endpoint"); } /** Retrieve this hosts unique ID */