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 da...@apache.org on 2013/03/04 16:03:55 UTC
svn commit: r1452340 - in
/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common:
CHANGES.txt
src/main/java/org/apache/hadoop/security/UserGroupInformation.java
src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java
Author: daryn
Date: Mon Mar 4 15:03:54 2013
New Revision: 1452340
URL: http://svn.apache.org/r1452340
Log:
HADOOP-9352. Expose UGI.setLoginUser for tests (daryn)
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
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.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=1452340&r1=1452339&r2=1452340&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 Mon Mar 4 15:03:54 2013
@@ -26,6 +26,8 @@ Release 0.23.7 - UNRELEASED
HADOOP-9336. Allow UGI of current connection to be queried. (Daryn Sharp
via kihwal)
+ HADOOP-9352. Expose UGI.setLoginUser for tests (daryn)
+
OPTIMIZATIONS
HADOOP-9147. Add missing fields to FIleStatus.toString.
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=1452340&r1=1452339&r2=1452340&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 Mon Mar 4 15:03:54 2013
@@ -64,6 +64,8 @@ import org.apache.hadoop.security.token.
import org.apache.hadoop.security.token.TokenIdentifier;
import org.apache.hadoop.util.Shell;
+import com.google.common.annotations.VisibleForTesting;
+
/**
* User and group information for Hadoop.
* This class wraps around a JAAS Subject and provides methods to determine the
@@ -544,7 +546,7 @@ public class UserGroupInformation {
if (proxyUser == null) {
proxyUser = System.getProperty(HADOOP_PROXY_USER);
}
- loginUser = proxyUser == null ? realUser : createProxyUser(proxyUser, realUser);
+ setLoginUser(proxyUser == null ? realUser : createProxyUser(proxyUser, realUser));
String fileLocation = System.getenv(HADOOP_TOKEN_FILE_LOCATION);
if (fileLocation != null) {
@@ -566,6 +568,15 @@ public class UserGroupInformation {
return loginUser;
}
+ @InterfaceAudience.Private
+ @InterfaceStability.Unstable
+ @VisibleForTesting
+ public synchronized static void setLoginUser(UserGroupInformation ugi) {
+ // if this is to become stable, should probably logout the currently
+ // logged in ugi if it's different
+ loginUser = ugi;
+ }
+
/**
* Is this user logged in from a keytab file?
* @return true if the credentials are from a keytab file.
@@ -679,7 +690,7 @@ public class UserGroupInformation {
start = System.currentTimeMillis();
login.login();
metrics.loginSuccess.add(System.currentTimeMillis() - start);
- loginUser = new UserGroupInformation(subject);
+ setLoginUser(new UserGroupInformation(subject));
loginUser.setLogin(login);
loginUser.setAuthenticationMethod(AuthenticationMethod.KERBEROS);
} catch (LoginException le) {
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java?rev=1452340&r1=1452339&r2=1452340&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java (original)
+++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/security/TestUserGroupInformation.java Mon Mar 4 15:03:54 2013
@@ -530,4 +530,11 @@ public class TestUserGroupInformation {
}
});
}
+
+ @Test(timeout=1000)
+ public void testSetLoginUser() throws IOException {
+ UserGroupInformation ugi = UserGroupInformation.createRemoteUser("test-user");
+ UserGroupInformation.setLoginUser(ugi);
+ assertEquals(ugi, UserGroupInformation.getLoginUser());
+ }
}