diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 770d37dcd37..46311653e07 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -660,6 +660,10 @@ Release 2.9.0 - UNRELEASED BUG FIXES + HADOOP-12687. SecureUtil#QualifiedHostResolver#getByName should also try to + resolve direct hostname, incase multiple loopback addresses are present in + /etc/hosts (Sunil G via rohithsharmaks) + Release 2.8.0 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java index 38096ab4715..714c923a627 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java @@ -580,7 +580,13 @@ public class SecurityUtil { addr = getByNameWithSearch(host); if (addr == null) { addr = getByExactName(host); + // If multiple loopback addresses are present, a direct lookup + // will be helpful + if (addr == null) { + addr = InetAddress.getByName(host); + } } + } } // unresolvable!