Return-Path: X-Original-To: apmail-hadoop-common-commits-archive@www.apache.org Delivered-To: apmail-hadoop-common-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1DFAC18C4D for ; Wed, 1 Jul 2015 21:10:00 +0000 (UTC) Received: (qmail 90653 invoked by uid 500); 1 Jul 2015 21:09:48 -0000 Delivered-To: apmail-hadoop-common-commits-archive@hadoop.apache.org Received: (qmail 90424 invoked by uid 500); 1 Jul 2015 21:09:48 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 89303 invoked by uid 99); 1 Jul 2015 21:09:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jul 2015 21:09:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 30585E0504; Wed, 1 Jul 2015 21:09:48 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: arp@apache.org To: common-commits@hadoop.apache.org Date: Wed, 01 Jul 2015 21:10:11 -0000 Message-Id: <3fdc8c923d494334b4280c91c01461ff@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [25/46] hadoop git commit: HDFS-8627. NPE thrown if unable to fetch token from Namenode (Contributed by J.Andreina) HDFS-8627. NPE thrown if unable to fetch token from Namenode (Contributed by J.Andreina) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7ba5bbac Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7ba5bbac Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7ba5bbac Branch: refs/heads/HDFS-7240 Commit: 7ba5bbac02b688f68a8d23671a1e869234b4cebe Parents: 6d99017 Author: Vinayakumar B Authored: Tue Jun 30 15:42:59 2015 +0530 Committer: Vinayakumar B Committed: Tue Jun 30 15:42:59 2015 +0530 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hdfs/tools/DelegationTokenFetcher.java | 19 +++++++++++-------- .../hdfs/tools/TestDelegationTokenFetcher.java | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7ba5bbac/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index ea67ea1..b065f98 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -338,6 +338,9 @@ Trunk (Unreleased) HDFS-8412. Fix the test failures in HTTPFS. (umamahesh) + HDFS-8627. NPE thrown if unable to fetch token from Namenode + (J.Andreina via vinayakumarb) + Release 2.8.0 - UNRELEASED NEW FEATURES http://git-wip-us.apache.org/repos/asf/hadoop/blob/7ba5bbac/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DelegationTokenFetcher.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DelegationTokenFetcher.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DelegationTokenFetcher.java index 6376243..803402d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DelegationTokenFetcher.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DelegationTokenFetcher.java @@ -176,14 +176,17 @@ public class DelegationTokenFetcher { final String renewer, final Path tokenFile) throws IOException { Token token = fs.getDelegationToken(renewer); - - Credentials cred = new Credentials(); - cred.addToken(token.getKind(), token); - cred.writeTokenStorageFile(tokenFile, conf); - - if (LOG.isDebugEnabled()) { - LOG.debug("Fetched token " + fs.getUri() + " for " + token.getService() - + " into " + tokenFile); + if (null != token) { + Credentials cred = new Credentials(); + cred.addToken(token.getKind(), token); + cred.writeTokenStorageFile(tokenFile, conf); + + if (LOG.isDebugEnabled()) { + LOG.debug("Fetched token " + fs.getUri() + " for " + + token.getService() + " into " + tokenFile); + } + } else { + System.err.println("ERROR: Failed to fetch token from " + fs.getUri()); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/7ba5bbac/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDelegationTokenFetcher.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDelegationTokenFetcher.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDelegationTokenFetcher.java index b4cf1c0..ab3933b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDelegationTokenFetcher.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDelegationTokenFetcher.java @@ -90,4 +90,19 @@ public class TestDelegationTokenFetcher { DelegationTokenFetcher.cancelTokens(conf, p); Assert.assertEquals(testToken, FakeRenewer.getLastCanceled()); } + + /** + * If token returned is null, saveDelegationToken should not + * throw nullPointerException + */ + @Test + public void testReturnedTokenIsNull() throws Exception { + WebHdfsFileSystem fs = mock(WebHdfsFileSystem.class); + doReturn(null).when(fs).getDelegationToken(anyString()); + Path p = new Path(f.getRoot().getAbsolutePath(), tokenFile); + DelegationTokenFetcher.saveDelegationToken(conf, fs, null, p); + // When Token returned is null, TokenFile should not exist + Assert.assertFalse(p.getFileSystem(conf).exists(p)); + + } }