You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2011/07/21 08:14:09 UTC

svn commit: r1149045 - in /hbase/branches/0.90: ./ src/main/java/org/apache/hadoop/hbase/master/ src/main/java/org/apache/hadoop/hbase/regionserver/ src/main/java/org/apache/hadoop/hbase/util/ src/main/java/org/apache/hadoop/hbase/zookeeper/

Author: stack
Date: Thu Jul 21 06:14:05 2011
New Revision: 1149045

URL: http://svn.apache.org/viewvc?rev=1149045&view=rev
Log:
HBASE-4109 Hostname returned via reverse dns lookup contains trailing period if configured interface is not "default"

Modified:
    hbase/branches/0.90/CHANGES.txt
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/util/Strings.java
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java

Modified: hbase/branches/0.90/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1149045&r1=1149044&r2=1149045&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Thu Jul 21 06:14:05 2011
@@ -80,6 +80,8 @@ Release 0.90.4 - Unreleased
                binary-encoded data (Ryan Brush)
    HBASE-4118  method regionserver.MemStore#updateColumnValue: the check for 
                qualifier and family is missing (N Keywal via Ted Yu)
+   HBASE-4109  Hostname returned via reverse dns lookup contains trailing period if
+               configured interface is not "default" (Shrijeet Paliwal)
 
   IMPROVEMENT
    HBASE-3882  hbase-config.sh needs to be updated so it can auto-detects the

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/HMaster.java?rev=1149045&r1=1149044&r2=1149045&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/HMaster.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/HMaster.java Thu Jul 21 06:14:05 2011
@@ -79,6 +79,7 @@ import org.apache.hadoop.hbase.util.Byte
 import org.apache.hadoop.hbase.util.InfoServer;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.Sleeper;
+import org.apache.hadoop.hbase.util.Strings;
 import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.hbase.util.VersionInfo;
 import org.apache.hadoop.hbase.zookeeper.ClusterStatusTracker;
@@ -457,8 +458,9 @@ implements HMasterInterface, HMasterRegi
   private static String getMyAddress(final Configuration c)
   throws UnknownHostException {
     // Find out our address up in DNS.
-    String s = DNS.getDefaultHost(c.get("hbase.master.dns.interface","default"),
-      c.get("hbase.master.dns.nameserver","default"));
+    String s = Strings.domainNamePointerToHostName(DNS.getDefaultHost(c.get(
+        "hbase.master.dns.interface", "default"), c.get(
+        "hbase.master.dns.nameserver", "default")));
     s += ":" + c.get(HConstants.MASTER_PORT,
         Integer.toString(HConstants.DEFAULT_MASTER_PORT));
     return s;

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1149045&r1=1149044&r2=1149045&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Jul 21 06:14:05 2011
@@ -125,6 +125,7 @@ import org.apache.hadoop.hbase.util.FSUt
 import org.apache.hadoop.hbase.util.InfoServer;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.Sleeper;
+import org.apache.hadoop.hbase.util.Strings;
 import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.hbase.zookeeper.ClusterStatusTracker;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
@@ -320,9 +321,9 @@ public class HRegionServer implements HR
     this.stopped = false;
 
     // Server to handle client requests
-    String machineName = DNS.getDefaultHost(conf.get(
-        "hbase.regionserver.dns.interface", "default"), conf.get(
-        "hbase.regionserver.dns.nameserver", "default"));
+    String machineName = Strings.domainNamePointerToHostName(
+        DNS.getDefaultHost(conf.get("hbase.regionserver.dns.interface", "default")
+            , conf.get("hbase.regionserver.dns.nameserver", "default")));
     String addressStr = machineName + ":" +
       conf.get(HConstants.REGIONSERVER_PORT,
         Integer.toString(HConstants.DEFAULT_REGIONSERVER_PORT));

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/util/Strings.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/util/Strings.java?rev=1149045&r1=1149044&r2=1149045&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/util/Strings.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/util/Strings.java Thu Jul 21 06:14:05 2011
@@ -58,4 +58,18 @@ public class Strings {
     }
     return sb.append(key).append(separator).append(value);
   }
-}
\ No newline at end of file
+
+  /**
+   * Given a PTR string generated via reverse DNS lookup, return everything
+   * except the trailing period. Example for host.example.com., return
+   * host.example.com
+   * @param dnPtr a domain name pointer (PTR) string.
+   * @return Sanitized hostname with last period stripped off.
+   *
+   */
+  public static String domainNamePointerToHostName(String dnPtr) {
+    if (dnPtr == null)
+      return null;
+    return dnPtr.endsWith(".") ? dnPtr.substring(0, dnPtr.length()-1) : dnPtr;
+  }
+}

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java?rev=1149045&r1=1149044&r2=1149045&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java Thu Jul 21 06:14:05 2011
@@ -33,6 +33,7 @@ import java.util.Map.Entry;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.util.Strings;
 import org.apache.hadoop.net.DNS;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.zookeeper.server.ServerConfig;
@@ -87,9 +88,9 @@ public class HQuorumPeer {
     long myId = -1;
 
     Configuration conf = HBaseConfiguration.create();
-    String myAddress = DNS.getDefaultHost(
+    String myAddress = Strings.domainNamePointerToHostName(DNS.getDefaultHost(
         conf.get("hbase.zookeeper.dns.interface","default"),
-        conf.get("hbase.zookeeper.dns.nameserver","default"));
+        conf.get("hbase.zookeeper.dns.nameserver","default")));
 
     List<String> ips = new ArrayList<String>();