Index: src/java/org/apache/hadoop/hbase/regionserver/HLog.java =================================================================== --- src/java/org/apache/hadoop/hbase/regionserver/HLog.java (revision 4983) +++ src/java/org/apache/hadoop/hbase/regionserver/HLog.java (working copy) @@ -1319,7 +1319,7 @@ * @return the HLog directory name */ public static String getHLogDirectoryName(HServerInfo info) { - return getHLogDirectoryName(HServerInfo.getServerName(info)); + return getHLogDirectoryName(info.getServerName()); } /** Index: src/java/org/apache/hadoop/hbase/HServerInfo.java =================================================================== --- src/java/org/apache/hadoop/hbase/HServerInfo.java (revision 4983) +++ src/java/org/apache/hadoop/hbase/HServerInfo.java (working copy) @@ -137,8 +137,15 @@ */ public synchronized String getServerName() { if (this.serverName == null) { + // if we have the hostname of the RS, use it + if(this.name != null) { + this.serverName = getServerName(this.name, this.serverAddress.getPort(), this.startCode); + } + // go to DNS name resolution only if we dont have the name of the RS + else { this.serverName = getServerName(this.serverAddress, this.startCode); } + } return this.serverName; } @@ -219,7 +226,7 @@ * @param info * @return the server name in the form hostname_startcode_port */ - public static String getServerName(HServerInfo info) { + private static String getServerName(HServerInfo info) { return getServerName(info.getServerAddress(), info.getStartCode()); } Index: src/java/org/apache/hadoop/hbase/master/ServerManager.java =================================================================== --- src/java/org/apache/hadoop/hbase/master/ServerManager.java (revision 4983) +++ src/java/org/apache/hadoop/hbase/master/ServerManager.java (working copy) @@ -155,7 +155,7 @@ public void regionServerStartup(final HServerInfo serverInfo) throws Leases.LeaseStillHeldException { HServerInfo info = new HServerInfo(serverInfo); - String serverName = HServerInfo.getServerName(info); + String serverName = info.getServerName(); if (serversToServerInfo.containsKey(serverName) || deadServers.contains(serverName)) { LOG.debug("Server start was rejected: " + serverInfo); @@ -212,7 +212,7 @@ */ public void recordNewServer(HServerInfo info, boolean useInfoLoad) { HServerLoad load = useInfoLoad ? info.getLoad() : new HServerLoad(); - String serverName = HServerInfo.getServerName(info); + String serverName = info.getServerName(); info.setLoad(load); // We must set this watcher here because it can be set on a fresh start // or on a failover @@ -828,7 +828,7 @@ serverAddressToServerInfo.remove(serverAddress); HServerInfo info = serversToServerInfo.remove(server); if (info != null) { - String serverName = HServerInfo.getServerName(info); + String serverName = info.getServerName(); HServerLoad load = serversToLoad.remove(serverName); if (load != null) { synchronized (loadToServers) { Index: src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java =================================================================== --- src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java (revision 4983) +++ src/java/org/apache/hadoop/hbase/master/ProcessServerShutdown.java (working copy) @@ -74,7 +74,7 @@ */ public ProcessServerShutdown(HMaster master, HServerInfo serverInfo) { super(master); - this.deadServer = HServerInfo.getServerName(serverInfo); + this.deadServer = serverInfo.getServerName(); this.deadServerAddress = serverInfo.getServerAddress(); this.logSplit = false; this.rootRescanned = false; Index: src/java/org/apache/hadoop/hbase/master/ProcessRegionOpen.java =================================================================== --- src/java/org/apache/hadoop/hbase/master/ProcessRegionOpen.java (revision 4983) +++ src/java/org/apache/hadoop/hbase/master/ProcessRegionOpen.java (working copy) @@ -53,7 +53,7 @@ @Override public String toString() { - return "PendingOpenOperation from " + HServerInfo.getServerName(serverInfo); + return "PendingOpenOperation from " + serverInfo.getServerName(); } @Override