diff --git a/jdbc/src/java/org/apache/hive/jdbc/Utils.java b/jdbc/src/java/org/apache/hive/jdbc/Utils.java index 3c18f09641..4893771a5c 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/Utils.java +++ b/jdbc/src/java/org/apache/hive/jdbc/Utils.java @@ -709,12 +709,17 @@ public static String parsePropertyFromUrl(final String url, final String key) { */ public static String getCanonicalHostName(String hostName) { try { - return InetAddress.getByName(hostName).getCanonicalHostName(); + InetAddress addr = InetAddress.getByName(hostName); + String canonicalHostname = addr.getCanonicalHostName(); + if(canonicalHostname.equals(addr.getHostAddress())){ + return hostName; + } else { + return canonicalHostname; + } } catch(UnknownHostException exception) { LOG.warn("Could not retrieve canonical hostname for " + hostName, exception); return hostName; } } - }