You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2014/09/20 04:45:12 UTC
git commit: HBASE-12033 SecurityUtil#doAsLoginUser is absent in
hadoop-1, making AccessController#postCreateTableHandler() ineffective
Repository: hbase
Updated Branches:
refs/heads/0.98 a755b44f1 -> 0c58314f3
HBASE-12033 SecurityUtil#doAsLoginUser is absent in hadoop-1, making AccessController#postCreateTableHandler() ineffective
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0c58314f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0c58314f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0c58314f
Branch: refs/heads/0.98
Commit: 0c58314f39bdc8c6f619c054bfd47b5c92990b0f
Parents: a755b44
Author: Ted Yu <te...@apache.org>
Authored: Sat Sep 20 02:44:56 2014 +0000
Committer: Ted Yu <te...@apache.org>
Committed: Sat Sep 20 02:44:56 2014 +0000
----------------------------------------------------------------------
.../java/org/apache/hadoop/hbase/security/User.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/0c58314f/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java
index fd12e47..8ff4b21 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/security/User.java
@@ -173,13 +173,15 @@ public abstract class User {
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static <T> T runAsLoginUser(PrivilegedExceptionAction<T> action) throws IOException {
+ return doAsUser(UserGroupInformation.getCurrentUser(), action);
+ }
+
+ private static <T> T doAsUser(UserGroupInformation ugi,
+ PrivilegedExceptionAction<T> action) throws IOException {
try {
- Class c = Class.forName("org.apache.hadoop.security.SecurityUtil");
- Class [] types = new Class[]{PrivilegedExceptionAction.class};
- Object[] args = new Object[]{action};
- return (T) Methods.call(c, null, "doAsLoginUser", types, args);
- } catch (Throwable e) {
- throw new IOException(e);
+ return ugi.doAs(action);
+ } catch (InterruptedException ie) {
+ throw new IOException(ie);
}
}