diff --git a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java index 5a446609c2..3c59d40b3a 100644 --- a/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java +++ b/hadoop-common-project/hadoop-auth/src/main/java/org/apache/hadoop/security/authentication/client/AuthenticatedURL.java @@ -266,6 +266,7 @@ public static void extractToken(HttpURLConnection conn, Token token) throws IOEx } } } else { + token.set(null); throw new AuthenticationException("Authentication failed, status: " + conn.getResponseCode() + ", message: " + conn.getResponseMessage()); } diff --git a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java index 525af62606..213818793f 100644 --- a/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java +++ b/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/TestAuthenticatedURL.java @@ -13,6 +13,7 @@ */ package org.apache.hadoop.security.authentication.client; +import junit.framework.Assert; import junit.framework.TestCase; import org.mockito.Mockito; @@ -100,11 +101,14 @@ public void testExtractTokenFail() throws Exception { headers.put("Set-Cookie", cookies); Mockito.when(conn.getHeaderFields()).thenReturn(headers); + AuthenticatedURL.Token token = new AuthenticatedURL.Token(); + token.set("bar"); try { - AuthenticatedURL.extractToken(conn, new AuthenticatedURL.Token()); + AuthenticatedURL.extractToken(conn, token); fail(); } catch (AuthenticationException ex) { // Expected + Assert.assertFalse(token.isSet()); } catch (Exception ex) { fail(); } diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 885628871b..351aae0d77 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -261,6 +261,9 @@ Branch-2 ( Unreleased changes ) HADOOP-8509. JarFinder duplicate entry: META-INF/MANIFEST.MF exception (tucu) + HADOOP-8512. AuthenticatedURL should reset the Token when the server returns + other than OK on authentication (tucu) + BREAKDOWN OF HDFS-3042 SUBTASKS HADOOP-8220. ZKFailoverController doesn't handle failure to become active