From 96d77c17cc1f792de4ae026f236e091156d28b53 Mon Sep 17 00:00:00 2001 From: Aaron Myers Date: Thu, 12 Jul 2012 01:22:34 +0000 Subject: [PATCH] HADOOP-8585. Fix initialization circularity between UserGroupInformation and HadoopConfiguration. Contributed by Colin Patrick McCabe. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1360498 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../hadoop/security/UserGroupInformation.java | 15 ++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 150ed20efe..9666156ae0 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -333,6 +333,9 @@ Branch-2 ( Unreleased changes ) HADOOP-8587. HarFileSystem access of harMetaCache isn't threadsafe. (eli) + HADOOP-8585. Fix initialization circularity between UserGroupInformation + and HadoopConfiguration. (Colin Patrick McCabe via atm) + BREAKDOWN OF HDFS-3042 SUBTASKS HADOOP-8220. ZKFailoverController doesn't handle failure to become active diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java index a26280557a..92a8d3a396 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java @@ -456,9 +456,6 @@ public class UserGroupInformation { } } - public static final HadoopConfiguration HADOOP_LOGIN_CONFIG = - new HadoopConfiguration(); - /** * Represents a javax.security configuration that is created at runtime. */ @@ -630,10 +627,10 @@ public class UserGroupInformation { LoginContext login; if (isSecurityEnabled()) { login = newLoginContext(HadoopConfiguration.USER_KERBEROS_CONFIG_NAME, - subject, HADOOP_LOGIN_CONFIG); + subject, new HadoopConfiguration()); } else { login = newLoginContext(HadoopConfiguration.SIMPLE_CONFIG_NAME, - subject, HADOOP_LOGIN_CONFIG); + subject, new HadoopConfiguration()); } login.login(); loginUser = new UserGroupInformation(subject); @@ -774,7 +771,7 @@ public class UserGroupInformation { long start = 0; try { login = newLoginContext(HadoopConfiguration.KEYTAB_KERBEROS_CONFIG_NAME, - subject, HADOOP_LOGIN_CONFIG); + subject, new HadoopConfiguration()); start = System.currentTimeMillis(); login.login(); metrics.loginSuccess.add(System.currentTimeMillis() - start); @@ -857,7 +854,7 @@ public class UserGroupInformation { // have the new credentials (pass it to the LoginContext constructor) login = newLoginContext( HadoopConfiguration.KEYTAB_KERBEROS_CONFIG_NAME, getSubject(), - HADOOP_LOGIN_CONFIG); + new HadoopConfiguration()); LOG.info("Initiating re-login for " + keytabPrincipal); start = System.currentTimeMillis(); login.login(); @@ -908,7 +905,7 @@ public class UserGroupInformation { //have the new credentials (pass it to the LoginContext constructor) login = newLoginContext(HadoopConfiguration.USER_KERBEROS_CONFIG_NAME, - getSubject(), HADOOP_LOGIN_CONFIG); + getSubject(), new HadoopConfiguration()); LOG.info("Initiating re-login for " + getUserName()); login.login(); setLogin(login); @@ -945,7 +942,7 @@ public class UserGroupInformation { LoginContext login = newLoginContext( HadoopConfiguration.KEYTAB_KERBEROS_CONFIG_NAME, subject, - HADOOP_LOGIN_CONFIG); + new HadoopConfiguration()); start = System.currentTimeMillis(); login.login();