You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by br...@apache.org on 2018/10/30 06:02:57 UTC
[27/50] [abbrv] hadoop git commit: HADOOP-15864. Job submitter /
executor fail when SBN domain name can not resolved. Contributed by He
Xiaoqiao.
HADOOP-15864. Job submitter / executor fail when SBN domain name can not resolved. Contributed by He Xiaoqiao.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/44b0dc38
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/44b0dc38
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/44b0dc38
Branch: refs/heads/HDFS-13891
Commit: 44b0dc3859d4cfe9571fadd4962602053e4cd41f
Parents: 797addb
Author: Wei-Chiu Chuang <we...@apache.org>
Authored: Thu Oct 25 09:33:31 2018 -0700
Committer: Brahma Reddy Battula <br...@apache.org>
Committed: Tue Oct 30 11:31:17 2018 +0530
----------------------------------------------------------------------
.../apache/hadoop/security/SecurityUtil.java | 9 ++++----
.../namenode/ha/TestDelegationTokensWithHA.java | 23 ++++++++++++++++++++
2 files changed, 28 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/44b0dc38/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SecurityUtil.java
----------------------------------------------------------------------
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 aa12b93..b573234 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
@@ -424,7 +424,7 @@ public final class SecurityUtil {
*/
public static void setTokenService(Token<?> token, InetSocketAddress addr) {
Text service = buildTokenService(addr);
- if (token != null) {
+ if (token != null && service != null) {
token.setService(service);
if (LOG.isDebugEnabled()) {
LOG.debug("Acquired token "+token); // Token#toString() prints service
@@ -444,9 +444,10 @@ public final class SecurityUtil {
String host = null;
if (useIpForTokenService) {
if (addr.isUnresolved()) { // host has no ip address
- throw new IllegalArgumentException(
- new UnknownHostException(addr.getHostName())
- );
+ LOG.warn("unable to resolve host name " + addr
+ + ". Failure to construct a correct token service "
+ + "name may result in operation failures");
+ return null;
}
host = addr.getAddress().getHostAddress();
} else {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/44b0dc38/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestDelegationTokensWithHA.java
----------------------------------------------------------------------
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 7076ec6..e78cee9 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,6 +332,29 @@ public class TestDelegationTokensWithHA {
}
}
+ @Test(timeout = 300000)
+ public void testHAUtilClonesDTsDomainNameResolvedFail() throws Exception {
+ final Token<DelegationTokenIdentifier> 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<InetSocketAddress> nnAddrs = new HashSet<InetSocketAddress>();
+ nnAddrs.add(new InetSocketAddress("domainname.doesnot.exist",
+ nn0.getNameNodeAddress().getPort()));
+ nnAddrs.add(new InetSocketAddress("localhost",
+ nn1.getNameNodeAddress().getPort()));
+ HAUtilClient.cloneDelegationTokenForLogicalUri(ugi, haUri, nnAddrs);
+
+ Collection<Token<? extends TokenIdentifier>> 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
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org