[ 
https://issues.apache.org/jira/browse/HADOOP-8134?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Harsh J updated HADOOP-8134:
----------------------------

          Component/s: util
          Description: 
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?
             Priority: Minor  (was: Major)
     Target Version/s: 0.24.0, 0.23.3
    Affects Version/s: 0.23.0
             Assignee: Harsh J
    
> 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

        

Reply via email to