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

Allen Wittenauer resolved HADOOP-6797.
--------------------------------------

    Resolution: Incomplete

I'm going to close this as stale at this point.

> DNS#getHosts() fallback leads to mix of network-interface addresse in case 
> reverse lookup fails
> -----------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-6797
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6797
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 0.20.2
>            Reporter: Johannes Zillmann
>
> org.apache.hadoop.net.DNS#getHosts():
> {noformat}
> public static String[] getHosts(String strInterface, String nameserver)
>     throws UnknownHostException {
>     String[] ips = getIPs(strInterface);
>     Vector<String> hosts = new Vector<String>();
>     for (int ctr = 0; ctr < ips.length; ctr++)
>       try {
>         hosts.add(reverseDns(InetAddress.getByName(ips[ctr]),
>                              nameserver));
>       } catch (Exception e) {
>       }
>     if (hosts.size() == 0)
>       return new String[] { InetAddress.getLocalHost().getCanonicalHostName() 
> };
>     else
>       return hosts.toArray(new String[] {});
>   }
> {noformat}
> I have the situation where i choosing eth1 as network interface 
> (fs.datanode.dns.interface and mapred.tasktracker.dns.interface) which is the 
> internal interface.
> The reverse lookup fails for eth1 so the fallback:
> {noformat}
>     if (hosts.size() == 0)
>       return new String[] { InetAddress.getLocalHost().getCanonicalHostName() 
> };
> {noformat}
> comes to action. The dns of eth0 is returned which is the external interface.
> This leads in my case to a combination of internal ip and external dns as the 
> default ip/host.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to