[ 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