diff --git a/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java b/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java index 6fb485d..8f5d2f0 100644 --- a/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java +++ b/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java @@ -17,6 +17,8 @@ */ package org.apache.cassandra.locator; +import static java.util.Collections.singletonMap; + import java.net.InetAddress; import java.net.UnknownHostException; import java.util.logging.Logger; @@ -49,11 +51,8 @@ public class EndpointSnitchInfo extends APIMBean implements EndpointSnitchInfoMB @Override public String getRack(String host) throws UnknownHostException { log("getRack(String host) throws UnknownHostException"); - MultivaluedMap queryParams = new MultivaluedHashMap(); - if (host == null) { - host = InetAddress.getLoopbackAddress().getHostAddress(); - } - queryParams.add("host", host); + MultivaluedMap queryParams = host != null ? new MultivaluedHashMap( + singletonMap("host", InetAddress.getByName(host).getHostAddress())) : null; return client.getStringValue("/snitch/rack", queryParams, 10000); } @@ -67,11 +66,8 @@ public class EndpointSnitchInfo extends APIMBean implements EndpointSnitchInfoMB @Override public String getDatacenter(String host) throws UnknownHostException { log(" getDatacenter(String host) throws UnknownHostException"); - MultivaluedMap queryParams = new MultivaluedHashMap(); - if (host == null) { - host = InetAddress.getLoopbackAddress().getHostAddress(); - } - queryParams.add("host", host); + MultivaluedMap queryParams = host != null ? new MultivaluedHashMap( + singletonMap("host", InetAddress.getByName(host).getHostAddress())) : null; return client.getStringValue("/snitch/datacenter", queryParams, 10000); }