You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Daryn Sharp (Commented) (JIRA)" <ji...@apache.org> on 2012/03/08 18:13:58 UTC

[jira] [Commented] (HADOOP-8134) DNS claims to return a hostname but returns a PTR record in some cases

    [ https://issues.apache.org/jira/browse/HADOOP-8134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225314#comment-13225314 ] 

Daryn Sharp commented on HADOOP-8134:
-------------------------------------

Interesting, I wasn't aware of this class.  I thought the NetUtils lookups were used everywhere.

BTW, with earlier changes I was dismayed to find that trailing dots were causing problems.  Notably kerberos host equivalence failures in my case.  The purpose of a trailing dot, other than the cited requirement for zone files, is tell a resolver *never* to walk the dns search path for the given host, ie. it is what is.  We may want to consider treating a trailing dot correctly.
                
> DNS claims to return a hostname but returns a PTR record in some cases
> ----------------------------------------------------------------------
>
>                 Key: HADOOP-8134
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8134
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 0.23.0
>            Reporter: Harsh J
>            Assignee: Harsh J
>            Priority: Minor
>
> Per Shrijeet on HBASE-4109:
> {quote}
> 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
> String machineName = DNS.getDefaultHost(conf.get(
>         "hbase.regionserver.dns.interface", "default"), conf.get(
>         "hbase.regionserver.dns.nameserver", "default"));
> 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.
> {quote}
> While HBase has worked around the issue, we should fix the methods that aren't doing what they've intended.
> 1. We fix the method. This may be an 'incompatible change'. But I do not know who outside of us uses DNS classes.
> 2. We fix HDFS's DN at the calling end, cause that is affected by the trailing period in its reporting back to the NN as well (Just affects NN->DN weblinks, non critical).
> For 2, we can close this and open a HDFS JIRA.
> Thoughts?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira