Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
If you give an interface that doesnt exist, DNS.getIPs falls back to
InetAddress.getLocalHost().getHostAddress()
But there's an assumption there: that InetAddress.getLocalHost(). is valid. If it doesnt resolve properly, you get an UnknownHostException
java.net.UnknownHostException: k2: k2
at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
at org.apache.hadoop.net.DNS.getIPs(DNS.java:96)
at org.apache.hadoop.net.TestDNS.testIPsOfUnknownInterface(TestDNS.java:73)
It is possible to catch this and return something else. The big question: what to fall back to? 127.0.0.1 would be an obvious choice
Attachments
Issue Links
- Is contained by
-
HADOOP-3426 Datanode does not start up if the local machines DNS isnt working right and dfs.datanode.dns.interface==default
- Closed
- relates to
-
HADOOP-3426 Datanode does not start up if the local machines DNS isnt working right and dfs.datanode.dns.interface==default
- Closed