[
https://issues.apache.org/jira/browse/HADOOP-3426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607220#action_12607220
]
Steve Loughran commented on HADOOP-3426:
----------------------------------------
The reverse DNS test is a test whose failures change with the network
infrastructure. This could be trouble, as anywhere that expects the
DNS.reverseDns() method to work reliably will be in for a disappointment.
On hudson it is failing with
javax.naming.NameNotFoundException: DNS name not found [response code 3];
remaining name '106.11.211.140.in-addr.arpa'
at com.sun.jndi.dns.DnsClient.checkResponseCode(DnsClient.java:596)
at com.sun.jndi.dns.DnsClient.isMatchResponse(DnsClient.java:553)
at com.sun.jndi.dns.DnsClient.doUdpQuery(DnsClient.java:399)
at com.sun.jndi.dns.DnsClient.query(DnsClient.java:186)
at com.sun.jndi.dns.Resolver.query(Resolver.java:64)
at com.sun.jndi.dns.DnsContext.c_getAttributes(DnsContext.java:413)
at
com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(ComponentDirContext.java:213)
at
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:121)
at
com.sun.jndi.toolkit.url.GenericURLDirContext.getAttributes(GenericURLDirContext.java:85)
at
javax.naming.directory.InitialDirContext.getAttributes(InitialDirContext.java:123)
at org.apache.hadoop.net.DNS.reverseDns(DNS.java:67)
at org.apache.hadoop.net.TestDNS.testRDNS(TestDNS.java:91)
Standard Output
Localhost IPAddr is localhost/127.0.0.1
and on the apache servers,
> nslookup 106.11.211.140.in-addr.arpa
Server: 140.211.166.130
Address: 140.211.166.130#53
** server can't find 106.11.211.140.in-addr.arpa: NXDOMAIN
> Datanode does not start up if the local machines DNS isnt working right and
> dfs.datanode.dns.interface==default
> ---------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-3426
> URL: https://issues.apache.org/jira/browse/HADOOP-3426
> Project: Hadoop Core
> Issue Type: Bug
> Components: dfs
> Affects Versions: 0.16.3, 0.18.0
> Environment: Ubuntu 8.04, at home, no reverse DNS
> Reporter: Steve Loughran
> Priority: Minor
> Attachments: dns-fixes.patch
>
>
> This is the third Java project I've been involved in that doesnt work on my
> home network, due to implementation issues with
> java.net.InetAddress.getLocalHost(), issues that only show up on an unamanged
> network. Fortunately my home network exists to find these problems early.
> In hadoop, if the local hostname doesnt resolve, the datanode does not start
> up:
> Caused by: java.net.UnknownHostException: k2: k2
> at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
> at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:185)
> at org.apache.hadoop.dfs.DataNode.startDataNode(DataNode.java:184)
> at org.apache.hadoop.dfs.DataNode.(DataNode.java:162)
> at org.apache.hadoop.dfs.ExtDataNode.(ExtDataNode.java:55)
> at
> org.smartfrog.services.hadoop.components.datanode.DatanodeImpl.sfStart(DatanodeImpl.java:60)
> While this is a valid option in a production (non-virtual) cluster, if you
> are playing with VMWare/Xen private networks or on a home network, you can't
> rely on DNS.
> 1. In these situations, its usually better to fall back to using "localhost"
> or 127.0.0.1 as a hostname if Java can't work it out for itself,
> 2. Its often good to cache this if used in lots of parts of the system,
> otherwise the 30s timeouts can cause problems of their own.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.