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 to...@apache.org on 2012/01/20 04:33:42 UTC
svn commit: r1233750 - in
/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common:
CHANGES.txt
src/main/java/org/apache/hadoop/security/UserGroupInformation.java
Author: todd
Date: Fri Jan 20 03:33:41 2012
New Revision: 1233750
URL: http://svn.apache.org/viewvc?rev=1233750&view=rev
Log:
HADOOP-7982. UserGroupInformation fails to login if thread's context classloader can't load HadoopLoginModule. Contributed by Todd Lipcon.
Modified:
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1233750&r1=1233749&r2=1233750&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt Fri Jan 20 03:33:41 2012
@@ -140,6 +140,9 @@ Release 0.23.1 - Unreleased
HADOOP-7971. Adding back job/pipes/queue commands to bin/hadoop for
backward compatibility. (Prashath Sharma via acmurthy)
+ HADOOP-7982. UserGroupInformation fails to login if thread's context
+ classloader can't load HadoopLoginModule. (todd)
+
Release 0.23.0 - 2011-11-01
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java?rev=1233750&r1=1233749&r2=1233750&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/UserGroupInformation.java Fri Jan 20 03:33:41 2012
@@ -416,9 +416,19 @@ public class UserGroupInformation {
private static LoginContext
newLoginContext(String appName, Subject subject) throws LoginException {
- return new LoginContext(appName, subject, null, new HadoopConfiguration());
+ // Temporarily switch the thread's ContextClassLoader to match this
+ // class's classloader, so that we can properly load HadoopLoginModule
+ // from the JAAS libraries.
+ Thread t = Thread.currentThread();
+ ClassLoader oldCCL = t.getContextClassLoader();
+ t.setContextClassLoader(HadoopLoginModule.class.getClassLoader());
+ try {
+ return new LoginContext(appName, subject, null, new HadoopConfiguration());
+ } finally {
+ t.setContextClassLoader(oldCCL);
+ }
}
-
+
private LoginContext getLogin() {
return user.getLogin();
}