You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2009/10/20 05:52:08 UTC

svn commit: r826943 - /hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/HServerInfo.java

Author: jdcryans
Date: Tue Oct 20 03:52:08 2009
New Revision: 826943

URL: http://svn.apache.org/viewvc?rev=826943&view=rev
Log:
HBASE-1918 fix

Modified:
    hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/HServerInfo.java

Modified: hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/HServerInfo.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/HServerInfo.java?rev=826943&r1=826942&r2=826943&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/HServerInfo.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/HServerInfo.java Tue Oct 20 03:52:08 2009
@@ -22,6 +22,8 @@
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.Map;
+import java.util.HashMap;
 
 import org.apache.hadoop.io.WritableComparable;
 
@@ -40,6 +42,7 @@
   private int infoPort;
   private String serverName = null;
   private String name;
+  private static Map<String,String> dnsCache = new HashMap<String,String>();
 
   /** default constructor - used by Writable */
   public HServerInfo() {
@@ -235,6 +238,11 @@
       String host = serverAddress.substring(0, colonIndex);
       int port =
         Integer.valueOf(serverAddress.substring(colonIndex + 1)).intValue();
+      if(!dnsCache.containsKey(host)) {
+        HServerAddress address = new HServerAddress(serverAddress);
+        dnsCache.put(host, address.getHostname());
+      }
+      host = dnsCache.get(host);
       name = getServerName(host, port, startCode);
     }
     return name;