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 45c2f9b86ff..20e87544927 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 @@ -420,7 +420,7 @@ public final class SecurityUtil { */ public static void setTokenService(Token token, InetSocketAddress addr) { Text service = buildTokenService(addr); - if (token != null && service != null) { + if (token != null) { token.setService(service); if (LOG.isDebugEnabled()) { LOG.debug("Acquired token "+token); // Token#toString() prints service @@ -440,10 +440,9 @@ public final class SecurityUtil { String host = null; if (useIpForTokenService) { if (addr.isUnresolved()) { // host has no ip address - LOG.warn("unable to resolve host name " + addr - + ". Failure to construct a correct token service " - + "name may result in operation failures"); - return null; + throw new IllegalArgumentException( + new UnknownHostException(addr.getHostName()) + ); } host = addr.getAddress().getHostAddress(); } else { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDelegationTokensWithHA.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDelegationTokensWithHA.java index 087fba1dbe2..ca44c798010 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDelegationTokensWithHA.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDelegationTokensWithHA.java @@ -332,29 +332,6 @@ public class TestDelegationTokensWithHA { } } - @Test(timeout = 300000) - public void testHAUtilClonesDTsDomainNameResolvedFail() throws Exception { - final Token token = - getDelegationToken(fs, "JobTracker"); - - UserGroupInformation ugi = UserGroupInformation.createRemoteUser("test"); - - URI haUri = new URI("hdfs://my-ha-uri/"); - token.setService(HAUtilClient.buildTokenServiceForLogicalUri(haUri, - HdfsConstants.HDFS_URI_SCHEME)); - ugi.addToken(token); - - Collection nnAddrs = new HashSet(); - nnAddrs.add(new InetSocketAddress("domainname.doesnot.exist", - nn0.getNameNodeAddress().getPort())); - nnAddrs.add(new InetSocketAddress("localhost", - nn1.getNameNodeAddress().getPort())); - HAUtilClient.cloneDelegationTokenForLogicalUri(ugi, haUri, nnAddrs); - - Collection> tokens = ugi.getTokens(); - assertEquals(3, tokens.size()); - } - /** * HDFS-3062: DistributedFileSystem.getCanonicalServiceName() throws an * exception if the URI is a logical URI. This bug fails the combination of