From db87e59f6e1b213bfea9b6e84c056716c20210d5 Mon Sep 17 00:00:00 2001 From: Sun Dapeng Date: Tue, 7 Jul 2015 13:49:26 +0800 Subject: [PATCH] HIVE-11190: ConfVars.METASTORE_FILTER_HOOK in authorization V2 should not be hard code when the value is not default --- .../security/authorization/plugin/HiveAuthorizerImpl.java | 3 +++ .../org/apache/hadoop/hive/ql/session/SessionState.java | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveAuthorizerImpl.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveAuthorizerImpl.java index c555fbfa98d5..ee54798c52db 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveAuthorizerImpl.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/plugin/HiveAuthorizerImpl.java @@ -32,6 +32,9 @@ @LimitedPrivate(value = { "" }) @Evolving public class HiveAuthorizerImpl implements HiveAuthorizer { + + public static final String METASTORE_FILTER_HOOK_V2_DEFAULT = + "org.apache.hadoop.hive.ql.security.authorization.plugin.AuthorizationMetaStoreFilterHook"; HiveAccessController accessController; HiveAuthorizationValidator authValidator; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java index 37d856cee40e..514bf6c7e660 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java @@ -756,8 +756,12 @@ private void setAuthorizerV2Config() throws HiveException { if (conf.get(CONFIG_AUTHZ_SETTINGS_APPLIED_MARKER, "").equals(Boolean.TRUE.toString())) { return; } - conf.setVar(ConfVars.METASTORE_FILTER_HOOK, - "org.apache.hadoop.hive.ql.security.authorization.plugin.AuthorizationMetaStoreFilterHook"); + if (ConfVars.METASTORE_FILTER_HOOK.getDefaultValue().equals( + conf.get(ConfVars.METASTORE_FILTER_HOOK.name(), + ConfVars.METASTORE_FILTER_HOOK.getDefaultValue()))) { + conf.setVar(ConfVars.METASTORE_FILTER_HOOK, + HiveAuthorizerImpl.METASTORE_FILTER_HOOK_V2_DEFAULT); + } authorizerV2.applyAuthorizationConfigPolicy(conf); // update config in Hive thread local as well and init the metastore client