[ https://issues.apache.org/jira/browse/HBASE-4109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13068737#comment-13068737 ]
jirapos...@reviews.apache.org commented on HBASE-4109: ------------------------------------------------------ bq. On 2011-07-20 23:59:24, Eugene Koontz wrote: bq. > Should : String domainNamePointerToHostName(String dnPtr) be in o.a.h.h.util.Strings? Perhaps it would be better in o.a.h.h.util.Addressing? Eugene, yeah I had second thoughts about it myself. One, I was hesitating introducing a new class (I was thinking of introducing NetUtils) because all we are doing is string manipulation instead of any networking magic. Second, I saw org.apache.hadoop.util having functions like simpleHostname in it. - Shrijeet ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1139/#review1146 ----------------------------------------------------------- On 2011-07-18 18:41:16, Shrijeet Paliwal wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/1139/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-07-18 18:41:16) bq. bq. bq. Review request for hbase and Michael Stack. bq. bq. bq. Summary bq. ------- bq. bq. If you are using an interface anything other than 'default' (literally that keyword) DNS.java 's getDefaultHost will return a string which will bq. have a trailing period at the end. It seems javadoc of reverseDns in DNS.java (see below) is conflicting with what that function is actually doing. bq. It is returning a PTR record while claims it returns a hostname. The PTR record always has period at the end , RFC: http://irbs.net/bog-4.9.5/bog47.html bq. bq. This patch adds a sanitizing function and wraps all calls to getDefaultHost to go through a step of removing trailing period. bq. bq. bq. This addresses bug HBASE-4109. bq. https://issues.apache.org/jira/browse/HBASE-4109 bq. bq. bq. Diffs bq. ----- bq. bq. src/main/java/org/apache/hadoop/hbase/util/Strings.java c2cad2e bq. src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java d551c6f bq. src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 2d033f3 bq. src/main/java/org/apache/hadoop/hbase/master/HMaster.java c91523a bq. bq. Diff: https://reviews.apache.org/r/1139/diff bq. bq. bq. Testing bq. ------- bq. bq. bq. Thanks, bq. bq. Shrijeet bq. bq. > Hostname returned via reverse dns lookup contains trailing period if > configured interface is not "default" > ---------------------------------------------------------------------------------------------------------- > > Key: HBASE-4109 > URL: https://issues.apache.org/jira/browse/HBASE-4109 > Project: HBase > Issue Type: Bug > Components: master, regionserver > Affects Versions: 0.90.3 > Reporter: Shrijeet Paliwal > Fix For: 0.90.4 > > Attachments: > 0001-HBASE-4109-Sanitize-hostname-returned-from-DNS-class.patch > > > If you are using an interface anything other than 'default' (literally that > keyword) DNS.java 's getDefaultHost will return a string which will > have a trailing period at the end. It seems javadoc of reverseDns in DNS.java > (see below) is conflicting with what that function is actually doing. > It is returning a PTR record while claims it returns a hostname. The PTR > record always has period at the end , RFC: > http://irbs.net/bog-4.9.5/bog47.html > We make call to DNS.getDefaultHost at more than one places and treat that as > actual hostname. > Quoting HRegionServer for example > {code} > String machineName = DNS.getDefaultHost(conf.get( > "hbase.regionserver.dns.interface", "default"), conf.get( > "hbase.regionserver.dns.nameserver", "default")); > {code} > This causes inconsistencies. An example of such inconsistency was observed > while debugging the issue "Regions not getting reassigned if RS is brought > down". More here > http://search-hadoop.com/m/CANUA1qRCkQ1 > We may want to sanitize the string returned from DNS class. Or better we can > take a path of overhauling the way we do DNS name matching all over. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira