From 327ccbf07fdd8c8fed4e741b26c272d38dc74fdf Mon Sep 17 00:00:00 2001 From: Aaron Myers Date: Thu, 12 Jul 2012 01:23:37 +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/branches/branch-2@1360499 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 64847193a63..bf85446f924 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -148,6 +148,9 @@ Release 2.0.1-alpha - UNRELEASED 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 a26280557a8..92a8d3a3963 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();