You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by da...@apache.org on 2018/05/29 19:06:00 UTC
[6/7] hive git commit: HIVE-19440: Make StorageBasedAuthorizer work
with information schema (Daniel Dai, reviewed by Thejas Nair)
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/ql/src/test/results/clientpositive/llap/resourceplan.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/resourceplan.q.out b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
index 8e58b16..c7e9638 100644
--- a/ql/src/test/results/clientpositive/llap/resourceplan.q.out
+++ b/ql/src/test/results/clientpositive/llap/resourceplan.q.out
@@ -300,6 +300,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `DB_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`DB_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_DB_PRIVS` PRIMARY KEY (`DB_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -315,7 +316,8 @@ TBLPROPERTIES (
\"GRANTOR_TYPE\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"DB_PRIV\"
+ \"DB_PRIV\",
+ \"AUTHORIZER\"
FROM
\"DB_PRIVS\""
)
@@ -332,6 +334,7 @@ POSTHOOK: query: CREATE TABLE IF NOT EXISTS `DB_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`DB_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_DB_PRIVS` PRIMARY KEY (`DB_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -347,7 +350,8 @@ TBLPROPERTIES (
\"GRANTOR_TYPE\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"DB_PRIV\"
+ \"DB_PRIV\",
+ \"AUTHORIZER\"
FROM
\"DB_PRIVS\""
)
@@ -363,6 +367,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`USER_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_GLOBAL_PRIVS` PRIMARY KEY (`USER_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -377,7 +382,8 @@ TBLPROPERTIES (
\"GRANTOR_TYPE\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"USER_PRIV\"
+ \"USER_PRIV\",
+ \"AUTHORIZER\"
FROM
\"GLOBAL_PRIVS\""
)
@@ -393,6 +399,7 @@ POSTHOOK: query: CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`USER_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_GLOBAL_PRIVS` PRIMARY KEY (`USER_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -407,7 +414,8 @@ TBLPROPERTIES (
\"GRANTOR_TYPE\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"USER_PRIV\"
+ \"USER_PRIV\",
+ \"AUTHORIZER\"
FROM
\"GLOBAL_PRIVS\""
)
@@ -605,6 +613,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`PART_COL_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_PART_COL_PRIVS` PRIMARY KEY (`PART_COLUMN_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -621,7 +630,8 @@ TBLPROPERTIES (
\"PART_ID\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"PART_COL_PRIV\"
+ \"PART_COL_PRIV\",
+ \"AUTHORIZER\"
FROM
\"PART_COL_PRIVS\""
)
@@ -639,6 +649,7 @@ POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`PART_COL_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_PART_COL_PRIVS` PRIMARY KEY (`PART_COLUMN_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -655,7 +666,8 @@ TBLPROPERTIES (
\"PART_ID\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"PART_COL_PRIV\"
+ \"PART_COL_PRIV\",
+ \"AUTHORIZER\"
FROM
\"PART_COL_PRIVS\""
)
@@ -672,6 +684,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `PART_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`PART_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_PART_PRIVS` PRIMARY KEY (`PART_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -687,7 +700,8 @@ TBLPROPERTIES (
\"PART_ID\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"PART_PRIV\"
+ \"PART_PRIV\",
+ \"AUTHORIZER\"
FROM
\"PART_PRIVS\""
)
@@ -704,6 +718,7 @@ POSTHOOK: query: CREATE TABLE IF NOT EXISTS `PART_PRIVS` (
`PRINCIPAL_NAME` string,
`PRINCIPAL_TYPE` string,
`PART_PRIV` string,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_PART_PRIVS` PRIMARY KEY (`PART_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -719,7 +734,8 @@ TBLPROPERTIES (
\"PART_ID\",
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
- \"PART_PRIV\"
+ \"PART_PRIV\",
+ \"AUTHORIZER\"
FROM
\"PART_PRIVS\""
)
@@ -1485,6 +1501,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
`PRINCIPAL_TYPE` string,
`TBL_COL_PRIV` string,
`TBL_ID` bigint,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_TBL_COL_PRIVS` PRIMARY KEY (`TBL_COLUMN_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -1501,7 +1518,8 @@ TBLPROPERTIES (
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
\"TBL_COL_PRIV\",
- \"TBL_ID\"
+ \"TBL_ID\",
+ \"AUTHORIZER\"
FROM
\"TBL_COL_PRIVS\""
)
@@ -1519,6 +1537,7 @@ POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` (
`PRINCIPAL_TYPE` string,
`TBL_COL_PRIV` string,
`TBL_ID` bigint,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_TBL_COL_PRIVS` PRIMARY KEY (`TBL_COLUMN_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -1535,7 +1554,8 @@ TBLPROPERTIES (
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
\"TBL_COL_PRIV\",
- \"TBL_ID\"
+ \"TBL_ID\",
+ \"AUTHORIZER\"
FROM
\"TBL_COL_PRIVS\""
)
@@ -1552,6 +1572,7 @@ PREHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
`PRINCIPAL_TYPE` string,
`TBL_PRIV` string,
`TBL_ID` bigint,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_TBL_PRIVS` PRIMARY KEY (`TBL_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -1567,7 +1588,8 @@ TBLPROPERTIES (
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
\"TBL_PRIV\",
- \"TBL_ID\"
+ \"TBL_ID\",
+ \"AUTHORIZER\"
FROM
\"TBL_PRIVS\""
)
@@ -1584,6 +1606,7 @@ POSTHOOK: query: CREATE TABLE IF NOT EXISTS `TBL_PRIVS` (
`PRINCIPAL_TYPE` string,
`TBL_PRIV` string,
`TBL_ID` bigint,
+ `AUTHORIZER` string,
CONSTRAINT `SYS_PK_TBL_PRIVS` PRIMARY KEY (`TBL_GRANT_ID`) DISABLE
)
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
@@ -1599,7 +1622,8 @@ TBLPROPERTIES (
\"PRINCIPAL_NAME\",
\"PRINCIPAL_TYPE\",
\"TBL_PRIV\",
- \"TBL_ID\"
+ \"TBL_ID\",
+ \"AUTHORIZER\"
FROM
\"TBL_PRIVS\""
)
@@ -2397,6 +2421,7 @@ WHERE
AND T.`TBL_ID` = P.`TBL_ID`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
+ AND current_authorizer() = P.`AUTHORIZER`
PREHOOK: type: CREATEVIEW
PREHOOK: Input: sys@dbs
PREHOOK: Input: sys@tbl_privs
@@ -2429,6 +2454,7 @@ WHERE
AND T.`TBL_ID` = P.`TBL_ID`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
+ AND current_authorizer() = P.`AUTHORIZER`
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: sys@dbs
POSTHOOK: Input: sys@tbl_privs
@@ -2476,8 +2502,8 @@ WHERE
D.`DB_ID` = T.`DB_ID`
AND (NOT restrict_information_schema() OR T.`TBL_ID` = P.`TBL_ID`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
- OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
- AND P.`TBL_PRIV`='SELECT')
+ OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP')))
+ AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer()
PREHOOK: type: CREATEVIEW
PREHOOK: Input: sys@dbs
PREHOOK: Input: sys@tbl_privs
@@ -2518,8 +2544,8 @@ WHERE
D.`DB_ID` = T.`DB_ID`
AND (NOT restrict_information_schema() OR T.`TBL_ID` = P.`TBL_ID`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
- OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
- AND P.`TBL_PRIV`='SELECT')
+ OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP')))
+ AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer()
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: sys@dbs
POSTHOOK: Input: sys@tbl_privs
@@ -2569,8 +2595,8 @@ WHERE
AND (NOT restrict_information_schema() OR
P.`TBL_ID` = P2.`TBL_ID` AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE`
AND (P2.`PRINCIPAL_NAME`=current_user() AND P2.`PRINCIPAL_TYPE`='USER'
- OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP'))
- AND P2.`TBL_PRIV`='SELECT')
+ OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP')))
+ AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER` = current_authorizer() AND P2.`AUTHORIZER` = current_authorizer()
PREHOOK: type: CREATEVIEW
PREHOOK: Input: sys@dbs
PREHOOK: Input: sys@tbl_privs
@@ -2608,8 +2634,8 @@ WHERE
AND (NOT restrict_information_schema() OR
P.`TBL_ID` = P2.`TBL_ID` AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE`
AND (P2.`PRINCIPAL_NAME`=current_user() AND P2.`PRINCIPAL_TYPE`='USER'
- OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP'))
- AND P2.`TBL_PRIV`='SELECT')
+ OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP')))
+ AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER` = current_authorizer() AND P2.`AUTHORIZER` = current_authorizer()
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: sys@dbs
POSTHOOK: Input: sys@tbl_privs
@@ -2777,7 +2803,7 @@ WHERE
AND C.`COLUMN_NAME` = P.`COLUMN_NAME`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
- AND P.`TBL_COL_PRIV`='SELECT')
+ AND P.`TBL_COL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer())
PREHOOK: type: CREATEVIEW
PREHOOK: Input: sys@columns_v2
PREHOOK: Input: sys@dbs
@@ -2939,7 +2965,7 @@ WHERE
AND C.`COLUMN_NAME` = P.`COLUMN_NAME`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
- AND P.`TBL_COL_PRIV`='SELECT')
+ AND P.`TBL_COL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer())
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: sys@columns_v2
POSTHOOK: Input: sys@dbs
@@ -3029,7 +3055,7 @@ WHERE
P.`TBL_ID` = P2.`TBL_ID` AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE`
AND (P2.`PRINCIPAL_NAME`=current_user() AND P2.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP'))
- AND P2.`TBL_PRIV`='SELECT')
+ AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer() AND P2.`AUTHORIZER`=current_authorizer())
PREHOOK: type: CREATEVIEW
PREHOOK: Input: sys@dbs
PREHOOK: Input: sys@sds
@@ -3072,7 +3098,7 @@ WHERE
P.`TBL_ID` = P2.`TBL_ID` AND P.`PRINCIPAL_NAME` = P2.`PRINCIPAL_NAME` AND P.`PRINCIPAL_TYPE` = P2.`PRINCIPAL_TYPE`
AND (P2.`PRINCIPAL_NAME`=current_user() AND P2.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P2.`PRINCIPAL_NAME`) OR P2.`PRINCIPAL_NAME` = 'public') AND P2.`PRINCIPAL_TYPE`='GROUP'))
- AND P2.`TBL_PRIV`='SELECT')
+ AND P2.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer() AND P2.`AUTHORIZER`=current_authorizer())
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: sys@dbs
POSTHOOK: Input: sys@sds
@@ -3124,7 +3150,7 @@ WHERE
T.`TBL_ID` = P.`TBL_ID`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
- AND P.`TBL_PRIV`='SELECT')
+ AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer())
PREHOOK: type: CREATEVIEW
PREHOOK: Input: sys@dbs
PREHOOK: Input: sys@tbl_privs
@@ -3166,7 +3192,7 @@ WHERE
T.`TBL_ID` = P.`TBL_ID`
AND (P.`PRINCIPAL_NAME`=current_user() AND P.`PRINCIPAL_TYPE`='USER'
OR ((array_contains(current_groups(), P.`PRINCIPAL_NAME`) OR P.`PRINCIPAL_NAME` = 'public') AND P.`PRINCIPAL_TYPE`='GROUP'))
- AND P.`TBL_PRIV`='SELECT')
+ AND P.`TBL_PRIV`='SELECT' AND P.`AUTHORIZER`=current_authorizer())
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: sys@dbs
POSTHOOK: Input: sys@tbl_privs
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/ql/src/test/results/clientpositive/show_functions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/show_functions.q.out b/ql/src/test/results/clientpositive/show_functions.q.out
index 923a967..91d3660 100644
--- a/ql/src/test/results/clientpositive/show_functions.q.out
+++ b/ql/src/test/results/clientpositive/show_functions.q.out
@@ -63,6 +63,7 @@ covar_samp
crc32
create_union
cume_dist
+current_authorizer
current_database
current_date
current_groups
@@ -319,6 +320,7 @@ covar_samp
crc32
create_union
cume_dist
+current_authorizer
current_database
current_date
current_groups
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/service/src/java/org/apache/hive/service/server/HiveServer2.java
----------------------------------------------------------------------
diff --git a/service/src/java/org/apache/hive/service/server/HiveServer2.java b/service/src/java/org/apache/hive/service/server/HiveServer2.java
index 0197b66..6184fdc 100644
--- a/service/src/java/org/apache/hive/service/server/HiveServer2.java
+++ b/service/src/java/org/apache/hive/service/server/HiveServer2.java
@@ -71,6 +71,7 @@ import org.apache.hadoop.hive.llap.registry.impl.LlapRegistryService;
import org.apache.hadoop.hive.metastore.api.WMFullResourcePlan;
import org.apache.hadoop.hive.metastore.api.WMPool;
import org.apache.hadoop.hive.metastore.api.WMResourcePlan;
+import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
import org.apache.hadoop.hive.ql.cache.results.QueryResultsCache;
import org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl;
import org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolManager;
@@ -78,8 +79,11 @@ import org.apache.hadoop.hive.ql.exec.tez.WorkloadManager;
import org.apache.hadoop.hive.ql.metadata.Hive;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.metadata.HiveMaterializedViewsRegistry;
+import org.apache.hadoop.hive.ql.metadata.HiveUtils;
import org.apache.hadoop.hive.ql.metadata.events.NotificationEventPoll;
import org.apache.hadoop.hive.ql.plan.mapper.StatsSources;
+import org.apache.hadoop.hive.ql.security.authorization.HiveMetastoreAuthorizationProvider;
+import org.apache.hadoop.hive.ql.security.authorization.PolicyProviderContainer;
import org.apache.hadoop.hive.ql.security.authorization.PrivilegeSynchonizer;
import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer;
import org.apache.hadoop.hive.ql.session.ClearDanglingScratchDir;
@@ -975,23 +979,38 @@ public class HiveServer2 extends CompositeService {
}
public void startPrivilegeSynchonizer(HiveConf hiveConf) throws Exception {
- if (hiveConf.getBoolVar(ConfVars.HIVE_PRIVILEGE_SYNCHRONIZER)) {
+
+ PolicyProviderContainer policyContainer = new PolicyProviderContainer();
+ HiveAuthorizer authorizer = SessionState.get().getAuthorizerV2();
+ if (authorizer.getHivePolicyProvider() != null) {
+ policyContainer.addAuthorizer(authorizer);
+ }
+ if (hiveConf.get(MetastoreConf.ConfVars.PRE_EVENT_LISTENERS.getVarname()) != null &&
+ hiveConf.get(MetastoreConf.ConfVars.PRE_EVENT_LISTENERS.getVarname()).contains(
+ "org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener") &&
+ hiveConf.get(MetastoreConf.ConfVars.HIVE_AUTHORIZATION_MANAGER.getVarname())!= null) {
+ List<HiveMetastoreAuthorizationProvider> providers = HiveUtils.getMetaStoreAuthorizeProviderManagers(
+ hiveConf, HiveConf.ConfVars.HIVE_METASTORE_AUTHORIZATION_MANAGER, SessionState.get().getAuthenticator());
+ for (HiveMetastoreAuthorizationProvider provider : providers) {
+ if (provider.getHivePolicyProvider() != null) {
+ policyContainer.addAuthorizationProvider(provider);
+ }
+ }
+ }
+
+ if (policyContainer.size() > 0) {
zKClientForPrivSync = startZookeeperClient(hiveConf);
String rootNamespace = hiveConf.getVar(HiveConf.ConfVars.HIVE_SERVER2_ZOOKEEPER_NAMESPACE);
String path = ZooKeeperHiveHelper.ZOOKEEPER_PATH_SEPARATOR + rootNamespace
+ ZooKeeperHiveHelper.ZOOKEEPER_PATH_SEPARATOR + "leader";
LeaderLatch privilegeSynchonizerLatch = new LeaderLatch(zKClientForPrivSync, path);
privilegeSynchonizerLatch.start();
- HiveAuthorizer authorizer = SessionState.get().getAuthorizerV2();
- if (authorizer.getHivePolicyProvider() == null) {
- LOG.warn(
- "Cannot start PrivilegeSynchonizer, policyProvider of " + authorizer.getClass().getName() + " is null");
- privilegeSynchonizerLatch.close();
- return;
- }
Thread privilegeSynchonizerThread = new Thread(
- new PrivilegeSynchonizer(privilegeSynchonizerLatch, authorizer, hiveConf), "PrivilegeSynchonizer");
+ new PrivilegeSynchonizer(privilegeSynchonizerLatch, policyContainer, hiveConf), "PrivilegeSynchonizer");
privilegeSynchonizerThread.start();
+ } else {
+ LOG.warn(
+ "No policy provider found, skip creating PrivilegeSynchonizer");
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/pom.xml
----------------------------------------------------------------------
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index 7e4fefb..46a3746 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -30,7 +30,7 @@
<name>Hive Standalone Metastore</name>
<properties>
- <hive.version.shortname>3.0.0</hive.version.shortname>
+ <hive.version.shortname>3.1.0</hive.version.shortname>
<!-- Build properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
index a25ebe5..ddb175e 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
@@ -33259,6 +33259,14 @@ uint32_t ThriftHiveMetastore_refresh_privileges_args::read(::apache::thrift::pro
}
break;
case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->authorizer);
+ this->__isset.authorizer = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
if (ftype == ::apache::thrift::protocol::T_STRUCT) {
xfer += this->grantRequest.read(iprot);
this->__isset.grantRequest = true;
@@ -33287,7 +33295,11 @@ uint32_t ThriftHiveMetastore_refresh_privileges_args::write(::apache::thrift::pr
xfer += this->objToRefresh.write(oprot);
xfer += oprot->writeFieldEnd();
- xfer += oprot->writeFieldBegin("grantRequest", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += oprot->writeFieldBegin("authorizer", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->authorizer);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("grantRequest", ::apache::thrift::protocol::T_STRUCT, 3);
xfer += this->grantRequest.write(oprot);
xfer += oprot->writeFieldEnd();
@@ -33310,7 +33322,11 @@ uint32_t ThriftHiveMetastore_refresh_privileges_pargs::write(::apache::thrift::p
xfer += (*(this->objToRefresh)).write(oprot);
xfer += oprot->writeFieldEnd();
- xfer += oprot->writeFieldBegin("grantRequest", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += oprot->writeFieldBegin("authorizer", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->authorizer)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("grantRequest", ::apache::thrift::protocol::T_STRUCT, 3);
xfer += (*(this->grantRequest)).write(oprot);
xfer += oprot->writeFieldEnd();
@@ -58204,19 +58220,20 @@ void ThriftHiveMetastoreClient::recv_grant_revoke_privileges(GrantRevokePrivileg
throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "grant_revoke_privileges failed: unknown result");
}
-void ThriftHiveMetastoreClient::refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest)
+void ThriftHiveMetastoreClient::refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest)
{
- send_refresh_privileges(objToRefresh, grantRequest);
+ send_refresh_privileges(objToRefresh, authorizer, grantRequest);
recv_refresh_privileges(_return);
}
-void ThriftHiveMetastoreClient::send_refresh_privileges(const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest)
+void ThriftHiveMetastoreClient::send_refresh_privileges(const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest)
{
int32_t cseqid = 0;
oprot_->writeMessageBegin("refresh_privileges", ::apache::thrift::protocol::T_CALL, cseqid);
ThriftHiveMetastore_refresh_privileges_pargs args;
args.objToRefresh = &objToRefresh;
+ args.authorizer = &authorizer;
args.grantRequest = &grantRequest;
args.write(oprot_);
@@ -70714,7 +70731,7 @@ void ThriftHiveMetastoreProcessor::process_refresh_privileges(int32_t seqid, ::a
ThriftHiveMetastore_refresh_privileges_result result;
try {
- iface_->refresh_privileges(result.success, args.objToRefresh, args.grantRequest);
+ iface_->refresh_privileges(result.success, args.objToRefresh, args.authorizer, args.grantRequest);
result.__isset.success = true;
} catch (MetaException &o1) {
result.o1 = o1;
@@ -87024,13 +87041,13 @@ void ThriftHiveMetastoreConcurrentClient::recv_grant_revoke_privileges(GrantRevo
} // end while(true)
}
-void ThriftHiveMetastoreConcurrentClient::refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest)
+void ThriftHiveMetastoreConcurrentClient::refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest)
{
- int32_t seqid = send_refresh_privileges(objToRefresh, grantRequest);
+ int32_t seqid = send_refresh_privileges(objToRefresh, authorizer, grantRequest);
recv_refresh_privileges(_return, seqid);
}
-int32_t ThriftHiveMetastoreConcurrentClient::send_refresh_privileges(const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest)
+int32_t ThriftHiveMetastoreConcurrentClient::send_refresh_privileges(const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest)
{
int32_t cseqid = this->sync_.generateSeqId();
::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -87038,6 +87055,7 @@ int32_t ThriftHiveMetastoreConcurrentClient::send_refresh_privileges(const HiveO
ThriftHiveMetastore_refresh_privileges_pargs args;
args.objToRefresh = &objToRefresh;
+ args.authorizer = &authorizer;
args.grantRequest = &grantRequest;
args.write(oprot_);
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
index dac6983..b7987e3 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
@@ -149,7 +149,7 @@ class ThriftHiveMetastoreIf : virtual public ::facebook::fb303::FacebookService
virtual bool grant_privileges(const PrivilegeBag& privileges) = 0;
virtual bool revoke_privileges(const PrivilegeBag& privileges) = 0;
virtual void grant_revoke_privileges(GrantRevokePrivilegeResponse& _return, const GrantRevokePrivilegeRequest& request) = 0;
- virtual void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest) = 0;
+ virtual void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest) = 0;
virtual void set_ugi(std::vector<std::string> & _return, const std::string& user_name, const std::vector<std::string> & group_names) = 0;
virtual void get_delegation_token(std::string& _return, const std::string& token_owner, const std::string& renewer_kerberos_principal_name) = 0;
virtual int64_t renew_delegation_token(const std::string& token_str_form) = 0;
@@ -660,7 +660,7 @@ class ThriftHiveMetastoreNull : virtual public ThriftHiveMetastoreIf , virtual p
void grant_revoke_privileges(GrantRevokePrivilegeResponse& /* _return */, const GrantRevokePrivilegeRequest& /* request */) {
return;
}
- void refresh_privileges(GrantRevokePrivilegeResponse& /* _return */, const HiveObjectRef& /* objToRefresh */, const GrantRevokePrivilegeRequest& /* grantRequest */) {
+ void refresh_privileges(GrantRevokePrivilegeResponse& /* _return */, const HiveObjectRef& /* objToRefresh */, const std::string& /* authorizer */, const GrantRevokePrivilegeRequest& /* grantRequest */) {
return;
}
void set_ugi(std::vector<std::string> & /* _return */, const std::string& /* user_name */, const std::vector<std::string> & /* group_names */) {
@@ -17173,8 +17173,9 @@ class ThriftHiveMetastore_grant_revoke_privileges_presult {
};
typedef struct _ThriftHiveMetastore_refresh_privileges_args__isset {
- _ThriftHiveMetastore_refresh_privileges_args__isset() : objToRefresh(false), grantRequest(false) {}
+ _ThriftHiveMetastore_refresh_privileges_args__isset() : objToRefresh(false), authorizer(false), grantRequest(false) {}
bool objToRefresh :1;
+ bool authorizer :1;
bool grantRequest :1;
} _ThriftHiveMetastore_refresh_privileges_args__isset;
@@ -17183,23 +17184,28 @@ class ThriftHiveMetastore_refresh_privileges_args {
ThriftHiveMetastore_refresh_privileges_args(const ThriftHiveMetastore_refresh_privileges_args&);
ThriftHiveMetastore_refresh_privileges_args& operator=(const ThriftHiveMetastore_refresh_privileges_args&);
- ThriftHiveMetastore_refresh_privileges_args() {
+ ThriftHiveMetastore_refresh_privileges_args() : authorizer() {
}
virtual ~ThriftHiveMetastore_refresh_privileges_args() throw();
HiveObjectRef objToRefresh;
+ std::string authorizer;
GrantRevokePrivilegeRequest grantRequest;
_ThriftHiveMetastore_refresh_privileges_args__isset __isset;
void __set_objToRefresh(const HiveObjectRef& val);
+ void __set_authorizer(const std::string& val);
+
void __set_grantRequest(const GrantRevokePrivilegeRequest& val);
bool operator == (const ThriftHiveMetastore_refresh_privileges_args & rhs) const
{
if (!(objToRefresh == rhs.objToRefresh))
return false;
+ if (!(authorizer == rhs.authorizer))
+ return false;
if (!(grantRequest == rhs.grantRequest))
return false;
return true;
@@ -17222,6 +17228,7 @@ class ThriftHiveMetastore_refresh_privileges_pargs {
virtual ~ThriftHiveMetastore_refresh_privileges_pargs() throw();
const HiveObjectRef* objToRefresh;
+ const std::string* authorizer;
const GrantRevokePrivilegeRequest* grantRequest;
uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -26473,8 +26480,8 @@ class ThriftHiveMetastoreClient : virtual public ThriftHiveMetastoreIf, public
void grant_revoke_privileges(GrantRevokePrivilegeResponse& _return, const GrantRevokePrivilegeRequest& request);
void send_grant_revoke_privileges(const GrantRevokePrivilegeRequest& request);
void recv_grant_revoke_privileges(GrantRevokePrivilegeResponse& _return);
- void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest);
- void send_refresh_privileges(const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest);
+ void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest);
+ void send_refresh_privileges(const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest);
void recv_refresh_privileges(GrantRevokePrivilegeResponse& _return);
void set_ugi(std::vector<std::string> & _return, const std::string& user_name, const std::vector<std::string> & group_names);
void send_set_ugi(const std::string& user_name, const std::vector<std::string> & group_names);
@@ -28385,13 +28392,13 @@ class ThriftHiveMetastoreMultiface : virtual public ThriftHiveMetastoreIf, publi
return;
}
- void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest) {
+ void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest) {
size_t sz = ifaces_.size();
size_t i = 0;
for (; i < (sz - 1); ++i) {
- ifaces_[i]->refresh_privileges(_return, objToRefresh, grantRequest);
+ ifaces_[i]->refresh_privileges(_return, objToRefresh, authorizer, grantRequest);
}
- ifaces_[i]->refresh_privileges(_return, objToRefresh, grantRequest);
+ ifaces_[i]->refresh_privileges(_return, objToRefresh, authorizer, grantRequest);
return;
}
@@ -29546,8 +29553,8 @@ class ThriftHiveMetastoreConcurrentClient : virtual public ThriftHiveMetastoreIf
void grant_revoke_privileges(GrantRevokePrivilegeResponse& _return, const GrantRevokePrivilegeRequest& request);
int32_t send_grant_revoke_privileges(const GrantRevokePrivilegeRequest& request);
void recv_grant_revoke_privileges(GrantRevokePrivilegeResponse& _return, const int32_t seqid);
- void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest);
- int32_t send_refresh_privileges(const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest);
+ void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest);
+ int32_t send_refresh_privileges(const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest);
void recv_refresh_privileges(GrantRevokePrivilegeResponse& _return, const int32_t seqid);
void set_ugi(std::vector<std::string> & _return, const std::string& user_name, const std::vector<std::string> & group_names);
int32_t send_set_ugi(const std::string& user_name, const std::vector<std::string> & group_names);
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
index c4a8baf..3d9d75e 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
@@ -657,7 +657,7 @@ class ThriftHiveMetastoreHandler : virtual public ThriftHiveMetastoreIf {
printf("grant_revoke_privileges\n");
}
- void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const GrantRevokePrivilegeRequest& grantRequest) {
+ void refresh_privileges(GrantRevokePrivilegeResponse& _return, const HiveObjectRef& objToRefresh, const std::string& authorizer, const GrantRevokePrivilegeRequest& grantRequest) {
// Your implementation goes here
printf("refresh_privileges\n");
}
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
index af975fc..8925fe2 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
@@ -2658,6 +2658,10 @@ void HiveObjectPrivilege::__set_grantInfo(const PrivilegeGrantInfo& val) {
this->grantInfo = val;
}
+void HiveObjectPrivilege::__set_authorizer(const std::string& val) {
+ this->authorizer = val;
+}
+
uint32_t HiveObjectPrivilege::read(::apache::thrift::protocol::TProtocol* iprot) {
apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -2713,6 +2717,14 @@ uint32_t HiveObjectPrivilege::read(::apache::thrift::protocol::TProtocol* iprot)
xfer += iprot->skip(ftype);
}
break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->authorizer);
+ this->__isset.authorizer = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -2746,6 +2758,10 @@ uint32_t HiveObjectPrivilege::write(::apache::thrift::protocol::TProtocol* oprot
xfer += this->grantInfo.write(oprot);
xfer += oprot->writeFieldEnd();
+ xfer += oprot->writeFieldBegin("authorizer", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->authorizer);
+ xfer += oprot->writeFieldEnd();
+
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
@@ -2757,6 +2773,7 @@ void swap(HiveObjectPrivilege &a, HiveObjectPrivilege &b) {
swap(a.principalName, b.principalName);
swap(a.principalType, b.principalType);
swap(a.grantInfo, b.grantInfo);
+ swap(a.authorizer, b.authorizer);
swap(a.__isset, b.__isset);
}
@@ -2765,6 +2782,7 @@ HiveObjectPrivilege::HiveObjectPrivilege(const HiveObjectPrivilege& other37) {
principalName = other37.principalName;
principalType = other37.principalType;
grantInfo = other37.grantInfo;
+ authorizer = other37.authorizer;
__isset = other37.__isset;
}
HiveObjectPrivilege& HiveObjectPrivilege::operator=(const HiveObjectPrivilege& other38) {
@@ -2772,6 +2790,7 @@ HiveObjectPrivilege& HiveObjectPrivilege::operator=(const HiveObjectPrivilege& o
principalName = other38.principalName;
principalType = other38.principalType;
grantInfo = other38.grantInfo;
+ authorizer = other38.authorizer;
__isset = other38.__isset;
return *this;
}
@@ -2782,6 +2801,7 @@ void HiveObjectPrivilege::printTo(std::ostream& out) const {
out << ", " << "principalName=" << to_string(principalName);
out << ", " << "principalType=" << to_string(principalType);
out << ", " << "grantInfo=" << to_string(grantInfo);
+ out << ", " << "authorizer=" << to_string(authorizer);
out << ")";
}
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
index 7b42182..78656d9 100644
--- a/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
+++ b/standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
@@ -1622,11 +1622,12 @@ inline std::ostream& operator<<(std::ostream& out, const PrivilegeGrantInfo& obj
}
typedef struct _HiveObjectPrivilege__isset {
- _HiveObjectPrivilege__isset() : hiveObject(false), principalName(false), principalType(false), grantInfo(false) {}
+ _HiveObjectPrivilege__isset() : hiveObject(false), principalName(false), principalType(false), grantInfo(false), authorizer(false) {}
bool hiveObject :1;
bool principalName :1;
bool principalType :1;
bool grantInfo :1;
+ bool authorizer :1;
} _HiveObjectPrivilege__isset;
class HiveObjectPrivilege {
@@ -1634,7 +1635,7 @@ class HiveObjectPrivilege {
HiveObjectPrivilege(const HiveObjectPrivilege&);
HiveObjectPrivilege& operator=(const HiveObjectPrivilege&);
- HiveObjectPrivilege() : principalName(), principalType((PrincipalType::type)0) {
+ HiveObjectPrivilege() : principalName(), principalType((PrincipalType::type)0), authorizer() {
}
virtual ~HiveObjectPrivilege() throw();
@@ -1642,6 +1643,7 @@ class HiveObjectPrivilege {
std::string principalName;
PrincipalType::type principalType;
PrivilegeGrantInfo grantInfo;
+ std::string authorizer;
_HiveObjectPrivilege__isset __isset;
@@ -1653,6 +1655,8 @@ class HiveObjectPrivilege {
void __set_grantInfo(const PrivilegeGrantInfo& val);
+ void __set_authorizer(const std::string& val);
+
bool operator == (const HiveObjectPrivilege & rhs) const
{
if (!(hiveObject == rhs.hiveObject))
@@ -1663,6 +1667,8 @@ class HiveObjectPrivilege {
return false;
if (!(grantInfo == rhs.grantInfo))
return false;
+ if (!(authorizer == rhs.authorizer))
+ return false;
return true;
}
bool operator != (const HiveObjectPrivilege &rhs) const {
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HiveObjectPrivilege.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HiveObjectPrivilege.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HiveObjectPrivilege.java
index ef2e535..8b2817d 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HiveObjectPrivilege.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HiveObjectPrivilege.java
@@ -42,6 +42,7 @@ import org.slf4j.LoggerFactory;
private static final org.apache.thrift.protocol.TField PRINCIPAL_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("principalName", org.apache.thrift.protocol.TType.STRING, (short)2);
private static final org.apache.thrift.protocol.TField PRINCIPAL_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("principalType", org.apache.thrift.protocol.TType.I32, (short)3);
private static final org.apache.thrift.protocol.TField GRANT_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("grantInfo", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+ private static final org.apache.thrift.protocol.TField AUTHORIZER_FIELD_DESC = new org.apache.thrift.protocol.TField("authorizer", org.apache.thrift.protocol.TType.STRING, (short)5);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -53,6 +54,7 @@ import org.slf4j.LoggerFactory;
private String principalName; // required
private PrincipalType principalType; // required
private PrivilegeGrantInfo grantInfo; // required
+ private String authorizer; // required
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -63,7 +65,8 @@ import org.slf4j.LoggerFactory;
* @see PrincipalType
*/
PRINCIPAL_TYPE((short)3, "principalType"),
- GRANT_INFO((short)4, "grantInfo");
+ GRANT_INFO((short)4, "grantInfo"),
+ AUTHORIZER((short)5, "authorizer");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -86,6 +89,8 @@ import org.slf4j.LoggerFactory;
return PRINCIPAL_TYPE;
case 4: // GRANT_INFO
return GRANT_INFO;
+ case 5: // AUTHORIZER
+ return AUTHORIZER;
default:
return null;
}
@@ -137,6 +142,8 @@ import org.slf4j.LoggerFactory;
new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, PrincipalType.class)));
tmpMap.put(_Fields.GRANT_INFO, new org.apache.thrift.meta_data.FieldMetaData("grantInfo", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PrivilegeGrantInfo.class)));
+ tmpMap.put(_Fields.AUTHORIZER, new org.apache.thrift.meta_data.FieldMetaData("authorizer", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(HiveObjectPrivilege.class, metaDataMap);
}
@@ -148,13 +155,15 @@ import org.slf4j.LoggerFactory;
HiveObjectRef hiveObject,
String principalName,
PrincipalType principalType,
- PrivilegeGrantInfo grantInfo)
+ PrivilegeGrantInfo grantInfo,
+ String authorizer)
{
this();
this.hiveObject = hiveObject;
this.principalName = principalName;
this.principalType = principalType;
this.grantInfo = grantInfo;
+ this.authorizer = authorizer;
}
/**
@@ -173,6 +182,9 @@ import org.slf4j.LoggerFactory;
if (other.isSetGrantInfo()) {
this.grantInfo = new PrivilegeGrantInfo(other.grantInfo);
}
+ if (other.isSetAuthorizer()) {
+ this.authorizer = other.authorizer;
+ }
}
public HiveObjectPrivilege deepCopy() {
@@ -185,6 +197,7 @@ import org.slf4j.LoggerFactory;
this.principalName = null;
this.principalType = null;
this.grantInfo = null;
+ this.authorizer = null;
}
public HiveObjectRef getHiveObject() {
@@ -287,6 +300,29 @@ import org.slf4j.LoggerFactory;
}
}
+ public String getAuthorizer() {
+ return this.authorizer;
+ }
+
+ public void setAuthorizer(String authorizer) {
+ this.authorizer = authorizer;
+ }
+
+ public void unsetAuthorizer() {
+ this.authorizer = null;
+ }
+
+ /** Returns true if field authorizer is set (has been assigned a value) and false otherwise */
+ public boolean isSetAuthorizer() {
+ return this.authorizer != null;
+ }
+
+ public void setAuthorizerIsSet(boolean value) {
+ if (!value) {
+ this.authorizer = null;
+ }
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case HIVE_OBJECT:
@@ -321,6 +357,14 @@ import org.slf4j.LoggerFactory;
}
break;
+ case AUTHORIZER:
+ if (value == null) {
+ unsetAuthorizer();
+ } else {
+ setAuthorizer((String)value);
+ }
+ break;
+
}
}
@@ -338,6 +382,9 @@ import org.slf4j.LoggerFactory;
case GRANT_INFO:
return getGrantInfo();
+ case AUTHORIZER:
+ return getAuthorizer();
+
}
throw new IllegalStateException();
}
@@ -357,6 +404,8 @@ import org.slf4j.LoggerFactory;
return isSetPrincipalType();
case GRANT_INFO:
return isSetGrantInfo();
+ case AUTHORIZER:
+ return isSetAuthorizer();
}
throw new IllegalStateException();
}
@@ -410,6 +459,15 @@ import org.slf4j.LoggerFactory;
return false;
}
+ boolean this_present_authorizer = true && this.isSetAuthorizer();
+ boolean that_present_authorizer = true && that.isSetAuthorizer();
+ if (this_present_authorizer || that_present_authorizer) {
+ if (!(this_present_authorizer && that_present_authorizer))
+ return false;
+ if (!this.authorizer.equals(that.authorizer))
+ return false;
+ }
+
return true;
}
@@ -437,6 +495,11 @@ import org.slf4j.LoggerFactory;
if (present_grantInfo)
list.add(grantInfo);
+ boolean present_authorizer = true && (isSetAuthorizer());
+ list.add(present_authorizer);
+ if (present_authorizer)
+ list.add(authorizer);
+
return list.hashCode();
}
@@ -488,6 +551,16 @@ import org.slf4j.LoggerFactory;
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetAuthorizer()).compareTo(other.isSetAuthorizer());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetAuthorizer()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authorizer, other.authorizer);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -539,6 +612,14 @@ import org.slf4j.LoggerFactory;
sb.append(this.grantInfo);
}
first = false;
+ if (!first) sb.append(", ");
+ sb.append("authorizer:");
+ if (this.authorizer == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.authorizer);
+ }
+ first = false;
sb.append(")");
return sb.toString();
}
@@ -622,6 +703,14 @@ import org.slf4j.LoggerFactory;
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 5: // AUTHORIZER
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.authorizer = iprot.readString();
+ struct.setAuthorizerIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -655,6 +744,11 @@ import org.slf4j.LoggerFactory;
struct.grantInfo.write(oprot);
oprot.writeFieldEnd();
}
+ if (struct.authorizer != null) {
+ oprot.writeFieldBegin(AUTHORIZER_FIELD_DESC);
+ oprot.writeString(struct.authorizer);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -685,7 +779,10 @@ import org.slf4j.LoggerFactory;
if (struct.isSetGrantInfo()) {
optionals.set(3);
}
- oprot.writeBitSet(optionals, 4);
+ if (struct.isSetAuthorizer()) {
+ optionals.set(4);
+ }
+ oprot.writeBitSet(optionals, 5);
if (struct.isSetHiveObject()) {
struct.hiveObject.write(oprot);
}
@@ -698,12 +795,15 @@ import org.slf4j.LoggerFactory;
if (struct.isSetGrantInfo()) {
struct.grantInfo.write(oprot);
}
+ if (struct.isSetAuthorizer()) {
+ oprot.writeString(struct.authorizer);
+ }
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, HiveObjectPrivilege struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
- BitSet incoming = iprot.readBitSet(4);
+ BitSet incoming = iprot.readBitSet(5);
if (incoming.get(0)) {
struct.hiveObject = new HiveObjectRef();
struct.hiveObject.read(iprot);
@@ -722,6 +822,10 @@ import org.slf4j.LoggerFactory;
struct.grantInfo.read(iprot);
struct.setGrantInfoIsSet(true);
}
+ if (incoming.get(4)) {
+ struct.authorizer = iprot.readString();
+ struct.setAuthorizerIsSet(true);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
index 3139058..929f328 100644
--- a/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
+++ b/standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
@@ -296,7 +296,7 @@ import org.slf4j.LoggerFactory;
public GrantRevokePrivilegeResponse grant_revoke_privileges(GrantRevokePrivilegeRequest request) throws MetaException, org.apache.thrift.TException;
- public GrantRevokePrivilegeResponse refresh_privileges(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest) throws MetaException, org.apache.thrift.TException;
+ public GrantRevokePrivilegeResponse refresh_privileges(HiveObjectRef objToRefresh, String authorizer, GrantRevokePrivilegeRequest grantRequest) throws MetaException, org.apache.thrift.TException;
public List<String> set_ugi(String user_name, List<String> group_names) throws MetaException, org.apache.thrift.TException;
@@ -712,7 +712,7 @@ import org.slf4j.LoggerFactory;
public void grant_revoke_privileges(GrantRevokePrivilegeRequest request, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
- public void refresh_privileges(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+ public void refresh_privileges(HiveObjectRef objToRefresh, String authorizer, GrantRevokePrivilegeRequest grantRequest, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
public void set_ugi(String user_name, List<String> group_names, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -4706,16 +4706,17 @@ import org.slf4j.LoggerFactory;
throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "grant_revoke_privileges failed: unknown result");
}
- public GrantRevokePrivilegeResponse refresh_privileges(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest) throws MetaException, org.apache.thrift.TException
+ public GrantRevokePrivilegeResponse refresh_privileges(HiveObjectRef objToRefresh, String authorizer, GrantRevokePrivilegeRequest grantRequest) throws MetaException, org.apache.thrift.TException
{
- send_refresh_privileges(objToRefresh, grantRequest);
+ send_refresh_privileges(objToRefresh, authorizer, grantRequest);
return recv_refresh_privileges();
}
- public void send_refresh_privileges(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest) throws org.apache.thrift.TException
+ public void send_refresh_privileges(HiveObjectRef objToRefresh, String authorizer, GrantRevokePrivilegeRequest grantRequest) throws org.apache.thrift.TException
{
refresh_privileges_args args = new refresh_privileges_args();
args.setObjToRefresh(objToRefresh);
+ args.setAuthorizer(authorizer);
args.setGrantRequest(grantRequest);
sendBase("refresh_privileges", args);
}
@@ -11369,19 +11370,21 @@ import org.slf4j.LoggerFactory;
}
}
- public void refresh_privileges(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+ public void refresh_privileges(HiveObjectRef objToRefresh, String authorizer, GrantRevokePrivilegeRequest grantRequest, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
checkReady();
- refresh_privileges_call method_call = new refresh_privileges_call(objToRefresh, grantRequest, resultHandler, this, ___protocolFactory, ___transport);
+ refresh_privileges_call method_call = new refresh_privileges_call(objToRefresh, authorizer, grantRequest, resultHandler, this, ___protocolFactory, ___transport);
this.___currentMethod = method_call;
___manager.call(method_call);
}
@org.apache.hadoop.classification.InterfaceAudience.Public @org.apache.hadoop.classification.InterfaceStability.Stable public static class refresh_privileges_call extends org.apache.thrift.async.TAsyncMethodCall {
private HiveObjectRef objToRefresh;
+ private String authorizer;
private GrantRevokePrivilegeRequest grantRequest;
- public refresh_privileges_call(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+ public refresh_privileges_call(HiveObjectRef objToRefresh, String authorizer, GrantRevokePrivilegeRequest grantRequest, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
super(client, protocolFactory, transport, resultHandler, false);
this.objToRefresh = objToRefresh;
+ this.authorizer = authorizer;
this.grantRequest = grantRequest;
}
@@ -11389,6 +11392,7 @@ import org.slf4j.LoggerFactory;
prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("refresh_privileges", org.apache.thrift.protocol.TMessageType.CALL, 0));
refresh_privileges_args args = new refresh_privileges_args();
args.setObjToRefresh(objToRefresh);
+ args.setAuthorizer(authorizer);
args.setGrantRequest(grantRequest);
args.write(prot);
prot.writeMessageEnd();
@@ -17507,7 +17511,7 @@ import org.slf4j.LoggerFactory;
public refresh_privileges_result getResult(I iface, refresh_privileges_args args) throws org.apache.thrift.TException {
refresh_privileges_result result = new refresh_privileges_result();
try {
- result.success = iface.refresh_privileges(args.objToRefresh, args.grantRequest);
+ result.success = iface.refresh_privileges(args.objToRefresh, args.authorizer, args.grantRequest);
} catch (MetaException o1) {
result.o1 = o1;
}
@@ -27655,7 +27659,7 @@ import org.slf4j.LoggerFactory;
}
public void start(I iface, refresh_privileges_args args, org.apache.thrift.async.AsyncMethodCallback<GrantRevokePrivilegeResponse> resultHandler) throws TException {
- iface.refresh_privileges(args.objToRefresh, args.grantRequest,resultHandler);
+ iface.refresh_privileges(args.objToRefresh, args.authorizer, args.grantRequest,resultHandler);
}
}
@@ -169811,7 +169815,8 @@ import org.slf4j.LoggerFactory;
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("refresh_privileges_args");
private static final org.apache.thrift.protocol.TField OBJ_TO_REFRESH_FIELD_DESC = new org.apache.thrift.protocol.TField("objToRefresh", org.apache.thrift.protocol.TType.STRUCT, (short)1);
- private static final org.apache.thrift.protocol.TField GRANT_REQUEST_FIELD_DESC = new org.apache.thrift.protocol.TField("grantRequest", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+ private static final org.apache.thrift.protocol.TField AUTHORIZER_FIELD_DESC = new org.apache.thrift.protocol.TField("authorizer", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField GRANT_REQUEST_FIELD_DESC = new org.apache.thrift.protocol.TField("grantRequest", org.apache.thrift.protocol.TType.STRUCT, (short)3);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -169820,12 +169825,14 @@ import org.slf4j.LoggerFactory;
}
private HiveObjectRef objToRefresh; // required
+ private String authorizer; // required
private GrantRevokePrivilegeRequest grantRequest; // required
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
OBJ_TO_REFRESH((short)1, "objToRefresh"),
- GRANT_REQUEST((short)2, "grantRequest");
+ AUTHORIZER((short)2, "authorizer"),
+ GRANT_REQUEST((short)3, "grantRequest");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -169842,7 +169849,9 @@ import org.slf4j.LoggerFactory;
switch(fieldId) {
case 1: // OBJ_TO_REFRESH
return OBJ_TO_REFRESH;
- case 2: // GRANT_REQUEST
+ case 2: // AUTHORIZER
+ return AUTHORIZER;
+ case 3: // GRANT_REQUEST
return GRANT_REQUEST;
default:
return null;
@@ -169889,6 +169898,8 @@ import org.slf4j.LoggerFactory;
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
tmpMap.put(_Fields.OBJ_TO_REFRESH, new org.apache.thrift.meta_data.FieldMetaData("objToRefresh", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, HiveObjectRef.class)));
+ tmpMap.put(_Fields.AUTHORIZER, new org.apache.thrift.meta_data.FieldMetaData("authorizer", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.GRANT_REQUEST, new org.apache.thrift.meta_data.FieldMetaData("grantRequest", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, GrantRevokePrivilegeRequest.class)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -169900,10 +169911,12 @@ import org.slf4j.LoggerFactory;
public refresh_privileges_args(
HiveObjectRef objToRefresh,
+ String authorizer,
GrantRevokePrivilegeRequest grantRequest)
{
this();
this.objToRefresh = objToRefresh;
+ this.authorizer = authorizer;
this.grantRequest = grantRequest;
}
@@ -169914,6 +169927,9 @@ import org.slf4j.LoggerFactory;
if (other.isSetObjToRefresh()) {
this.objToRefresh = new HiveObjectRef(other.objToRefresh);
}
+ if (other.isSetAuthorizer()) {
+ this.authorizer = other.authorizer;
+ }
if (other.isSetGrantRequest()) {
this.grantRequest = new GrantRevokePrivilegeRequest(other.grantRequest);
}
@@ -169926,6 +169942,7 @@ import org.slf4j.LoggerFactory;
@Override
public void clear() {
this.objToRefresh = null;
+ this.authorizer = null;
this.grantRequest = null;
}
@@ -169952,6 +169969,29 @@ import org.slf4j.LoggerFactory;
}
}
+ public String getAuthorizer() {
+ return this.authorizer;
+ }
+
+ public void setAuthorizer(String authorizer) {
+ this.authorizer = authorizer;
+ }
+
+ public void unsetAuthorizer() {
+ this.authorizer = null;
+ }
+
+ /** Returns true if field authorizer is set (has been assigned a value) and false otherwise */
+ public boolean isSetAuthorizer() {
+ return this.authorizer != null;
+ }
+
+ public void setAuthorizerIsSet(boolean value) {
+ if (!value) {
+ this.authorizer = null;
+ }
+ }
+
public GrantRevokePrivilegeRequest getGrantRequest() {
return this.grantRequest;
}
@@ -169985,6 +170025,14 @@ import org.slf4j.LoggerFactory;
}
break;
+ case AUTHORIZER:
+ if (value == null) {
+ unsetAuthorizer();
+ } else {
+ setAuthorizer((String)value);
+ }
+ break;
+
case GRANT_REQUEST:
if (value == null) {
unsetGrantRequest();
@@ -170001,6 +170049,9 @@ import org.slf4j.LoggerFactory;
case OBJ_TO_REFRESH:
return getObjToRefresh();
+ case AUTHORIZER:
+ return getAuthorizer();
+
case GRANT_REQUEST:
return getGrantRequest();
@@ -170017,6 +170068,8 @@ import org.slf4j.LoggerFactory;
switch (field) {
case OBJ_TO_REFRESH:
return isSetObjToRefresh();
+ case AUTHORIZER:
+ return isSetAuthorizer();
case GRANT_REQUEST:
return isSetGrantRequest();
}
@@ -170045,6 +170098,15 @@ import org.slf4j.LoggerFactory;
return false;
}
+ boolean this_present_authorizer = true && this.isSetAuthorizer();
+ boolean that_present_authorizer = true && that.isSetAuthorizer();
+ if (this_present_authorizer || that_present_authorizer) {
+ if (!(this_present_authorizer && that_present_authorizer))
+ return false;
+ if (!this.authorizer.equals(that.authorizer))
+ return false;
+ }
+
boolean this_present_grantRequest = true && this.isSetGrantRequest();
boolean that_present_grantRequest = true && that.isSetGrantRequest();
if (this_present_grantRequest || that_present_grantRequest) {
@@ -170066,6 +170128,11 @@ import org.slf4j.LoggerFactory;
if (present_objToRefresh)
list.add(objToRefresh);
+ boolean present_authorizer = true && (isSetAuthorizer());
+ list.add(present_authorizer);
+ if (present_authorizer)
+ list.add(authorizer);
+
boolean present_grantRequest = true && (isSetGrantRequest());
list.add(present_grantRequest);
if (present_grantRequest)
@@ -170092,6 +170159,16 @@ import org.slf4j.LoggerFactory;
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetAuthorizer()).compareTo(other.isSetAuthorizer());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetAuthorizer()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authorizer, other.authorizer);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
lastComparison = Boolean.valueOf(isSetGrantRequest()).compareTo(other.isSetGrantRequest());
if (lastComparison != 0) {
return lastComparison;
@@ -170130,6 +170207,14 @@ import org.slf4j.LoggerFactory;
}
first = false;
if (!first) sb.append(", ");
+ sb.append("authorizer:");
+ if (this.authorizer == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.authorizer);
+ }
+ first = false;
+ if (!first) sb.append(", ");
sb.append("grantRequest:");
if (this.grantRequest == null) {
sb.append("null");
@@ -170195,7 +170280,15 @@ import org.slf4j.LoggerFactory;
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 2: // GRANT_REQUEST
+ case 2: // AUTHORIZER
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.authorizer = iprot.readString();
+ struct.setAuthorizerIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // GRANT_REQUEST
if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
struct.grantRequest = new GrantRevokePrivilegeRequest();
struct.grantRequest.read(iprot);
@@ -170222,6 +170315,11 @@ import org.slf4j.LoggerFactory;
struct.objToRefresh.write(oprot);
oprot.writeFieldEnd();
}
+ if (struct.authorizer != null) {
+ oprot.writeFieldBegin(AUTHORIZER_FIELD_DESC);
+ oprot.writeString(struct.authorizer);
+ oprot.writeFieldEnd();
+ }
if (struct.grantRequest != null) {
oprot.writeFieldBegin(GRANT_REQUEST_FIELD_DESC);
struct.grantRequest.write(oprot);
@@ -170248,13 +170346,19 @@ import org.slf4j.LoggerFactory;
if (struct.isSetObjToRefresh()) {
optionals.set(0);
}
- if (struct.isSetGrantRequest()) {
+ if (struct.isSetAuthorizer()) {
optionals.set(1);
}
- oprot.writeBitSet(optionals, 2);
+ if (struct.isSetGrantRequest()) {
+ optionals.set(2);
+ }
+ oprot.writeBitSet(optionals, 3);
if (struct.isSetObjToRefresh()) {
struct.objToRefresh.write(oprot);
}
+ if (struct.isSetAuthorizer()) {
+ oprot.writeString(struct.authorizer);
+ }
if (struct.isSetGrantRequest()) {
struct.grantRequest.write(oprot);
}
@@ -170263,13 +170367,17 @@ import org.slf4j.LoggerFactory;
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, refresh_privileges_args struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
- BitSet incoming = iprot.readBitSet(2);
+ BitSet incoming = iprot.readBitSet(3);
if (incoming.get(0)) {
struct.objToRefresh = new HiveObjectRef();
struct.objToRefresh.read(iprot);
struct.setObjToRefreshIsSet(true);
}
if (incoming.get(1)) {
+ struct.authorizer = iprot.readString();
+ struct.setAuthorizerIsSet(true);
+ }
+ if (incoming.get(2)) {
struct.grantRequest = new GrantRevokePrivilegeRequest();
struct.grantRequest.read(iprot);
struct.setGrantRequestIsSet(true);
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php b/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
index 250d990..4a37568 100644
--- a/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
+++ b/standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
@@ -1062,11 +1062,12 @@ interface ThriftHiveMetastoreIf extends \FacebookServiceIf {
public function grant_revoke_privileges(\metastore\GrantRevokePrivilegeRequest $request);
/**
* @param \metastore\HiveObjectRef $objToRefresh
+ * @param string $authorizer
* @param \metastore\GrantRevokePrivilegeRequest $grantRequest
* @return \metastore\GrantRevokePrivilegeResponse
* @throws \metastore\MetaException
*/
- public function refresh_privileges(\metastore\HiveObjectRef $objToRefresh, \metastore\GrantRevokePrivilegeRequest $grantRequest);
+ public function refresh_privileges(\metastore\HiveObjectRef $objToRefresh, $authorizer, \metastore\GrantRevokePrivilegeRequest $grantRequest);
/**
* @param string $user_name
* @param string[] $group_names
@@ -8927,16 +8928,17 @@ class ThriftHiveMetastoreClient extends \FacebookServiceClient implements \metas
throw new \Exception("grant_revoke_privileges failed: unknown result");
}
- public function refresh_privileges(\metastore\HiveObjectRef $objToRefresh, \metastore\GrantRevokePrivilegeRequest $grantRequest)
+ public function refresh_privileges(\metastore\HiveObjectRef $objToRefresh, $authorizer, \metastore\GrantRevokePrivilegeRequest $grantRequest)
{
- $this->send_refresh_privileges($objToRefresh, $grantRequest);
+ $this->send_refresh_privileges($objToRefresh, $authorizer, $grantRequest);
return $this->recv_refresh_privileges();
}
- public function send_refresh_privileges(\metastore\HiveObjectRef $objToRefresh, \metastore\GrantRevokePrivilegeRequest $grantRequest)
+ public function send_refresh_privileges(\metastore\HiveObjectRef $objToRefresh, $authorizer, \metastore\GrantRevokePrivilegeRequest $grantRequest)
{
$args = new \metastore\ThriftHiveMetastore_refresh_privileges_args();
$args->objToRefresh = $objToRefresh;
+ $args->authorizer = $authorizer;
$args->grantRequest = $grantRequest;
$bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
if ($bin_accel)
@@ -44513,6 +44515,10 @@ class ThriftHiveMetastore_refresh_privileges_args {
*/
public $objToRefresh = null;
/**
+ * @var string
+ */
+ public $authorizer = null;
+ /**
* @var \metastore\GrantRevokePrivilegeRequest
*/
public $grantRequest = null;
@@ -44526,6 +44532,10 @@ class ThriftHiveMetastore_refresh_privileges_args {
'class' => '\metastore\HiveObjectRef',
),
2 => array(
+ 'var' => 'authorizer',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
'var' => 'grantRequest',
'type' => TType::STRUCT,
'class' => '\metastore\GrantRevokePrivilegeRequest',
@@ -44536,6 +44546,9 @@ class ThriftHiveMetastore_refresh_privileges_args {
if (isset($vals['objToRefresh'])) {
$this->objToRefresh = $vals['objToRefresh'];
}
+ if (isset($vals['authorizer'])) {
+ $this->authorizer = $vals['authorizer'];
+ }
if (isset($vals['grantRequest'])) {
$this->grantRequest = $vals['grantRequest'];
}
@@ -44570,6 +44583,13 @@ class ThriftHiveMetastore_refresh_privileges_args {
}
break;
case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->authorizer);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
if ($ftype == TType::STRUCT) {
$this->grantRequest = new \metastore\GrantRevokePrivilegeRequest();
$xfer += $this->grantRequest->read($input);
@@ -44598,11 +44618,16 @@ class ThriftHiveMetastore_refresh_privileges_args {
$xfer += $this->objToRefresh->write($output);
$xfer += $output->writeFieldEnd();
}
+ if ($this->authorizer !== null) {
+ $xfer += $output->writeFieldBegin('authorizer', TType::STRING, 2);
+ $xfer += $output->writeString($this->authorizer);
+ $xfer += $output->writeFieldEnd();
+ }
if ($this->grantRequest !== null) {
if (!is_object($this->grantRequest)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
- $xfer += $output->writeFieldBegin('grantRequest', TType::STRUCT, 2);
+ $xfer += $output->writeFieldBegin('grantRequest', TType::STRUCT, 3);
$xfer += $this->grantRequest->write($output);
$xfer += $output->writeFieldEnd();
}
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php b/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
index 353c0de..fe54515 100644
--- a/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
+++ b/standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php
@@ -2719,6 +2719,10 @@ class HiveObjectPrivilege {
* @var \metastore\PrivilegeGrantInfo
*/
public $grantInfo = null;
+ /**
+ * @var string
+ */
+ public $authorizer = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -2741,6 +2745,10 @@ class HiveObjectPrivilege {
'type' => TType::STRUCT,
'class' => '\metastore\PrivilegeGrantInfo',
),
+ 5 => array(
+ 'var' => 'authorizer',
+ 'type' => TType::STRING,
+ ),
);
}
if (is_array($vals)) {
@@ -2756,6 +2764,9 @@ class HiveObjectPrivilege {
if (isset($vals['grantInfo'])) {
$this->grantInfo = $vals['grantInfo'];
}
+ if (isset($vals['authorizer'])) {
+ $this->authorizer = $vals['authorizer'];
+ }
}
}
@@ -2808,6 +2819,13 @@ class HiveObjectPrivilege {
$xfer += $input->skip($ftype);
}
break;
+ case 5:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->authorizer);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -2847,6 +2865,11 @@ class HiveObjectPrivilege {
$xfer += $this->grantInfo->write($output);
$xfer += $output->writeFieldEnd();
}
+ if ($this->authorizer !== null) {
+ $xfer += $output->writeFieldBegin('authorizer', TType::STRING, 5);
+ $xfer += $output->writeString($this->authorizer);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
index 58afb24..8fa5fe4 100755
--- a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
+++ b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
@@ -151,7 +151,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print(' bool grant_privileges(PrivilegeBag privileges)')
print(' bool revoke_privileges(PrivilegeBag privileges)')
print(' GrantRevokePrivilegeResponse grant_revoke_privileges(GrantRevokePrivilegeRequest request)')
- print(' GrantRevokePrivilegeResponse refresh_privileges(HiveObjectRef objToRefresh, GrantRevokePrivilegeRequest grantRequest)')
+ print(' GrantRevokePrivilegeResponse refresh_privileges(HiveObjectRef objToRefresh, string authorizer, GrantRevokePrivilegeRequest grantRequest)')
print(' set_ugi(string user_name, group_names)')
print(' string get_delegation_token(string token_owner, string renewer_kerberos_principal_name)')
print(' i64 renew_delegation_token(string token_str_form)')
@@ -1062,10 +1062,10 @@ elif cmd == 'grant_revoke_privileges':
pp.pprint(client.grant_revoke_privileges(eval(args[0]),))
elif cmd == 'refresh_privileges':
- if len(args) != 2:
- print('refresh_privileges requires 2 args')
+ if len(args) != 3:
+ print('refresh_privileges requires 3 args')
sys.exit(1)
- pp.pprint(client.refresh_privileges(eval(args[0]),eval(args[1]),))
+ pp.pprint(client.refresh_privileges(eval(args[0]),args[1],eval(args[2]),))
elif cmd == 'set_ugi':
if len(args) != 2:
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
index 768c0e3..11881d3 100644
--- a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
+++ b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
@@ -1061,10 +1061,11 @@ class Iface(fb303.FacebookService.Iface):
"""
pass
- def refresh_privileges(self, objToRefresh, grantRequest):
+ def refresh_privileges(self, objToRefresh, authorizer, grantRequest):
"""
Parameters:
- objToRefresh
+ - authorizer
- grantRequest
"""
pass
@@ -6338,19 +6339,21 @@ class Client(fb303.FacebookService.Client, Iface):
raise result.o1
raise TApplicationException(TApplicationException.MISSING_RESULT, "grant_revoke_privileges failed: unknown result")
- def refresh_privileges(self, objToRefresh, grantRequest):
+ def refresh_privileges(self, objToRefresh, authorizer, grantRequest):
"""
Parameters:
- objToRefresh
+ - authorizer
- grantRequest
"""
- self.send_refresh_privileges(objToRefresh, grantRequest)
+ self.send_refresh_privileges(objToRefresh, authorizer, grantRequest)
return self.recv_refresh_privileges()
- def send_refresh_privileges(self, objToRefresh, grantRequest):
+ def send_refresh_privileges(self, objToRefresh, authorizer, grantRequest):
self._oprot.writeMessageBegin('refresh_privileges', TMessageType.CALL, self._seqid)
args = refresh_privileges_args()
args.objToRefresh = objToRefresh
+ args.authorizer = authorizer
args.grantRequest = grantRequest
args.write(self._oprot)
self._oprot.writeMessageEnd()
@@ -12429,7 +12432,7 @@ class Processor(fb303.FacebookService.Processor, Iface, TProcessor):
iprot.readMessageEnd()
result = refresh_privileges_result()
try:
- result.success = self._handler.refresh_privileges(args.objToRefresh, args.grantRequest)
+ result.success = self._handler.refresh_privileges(args.objToRefresh, args.authorizer, args.grantRequest)
msg_type = TMessageType.REPLY
except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
raise
@@ -36878,17 +36881,20 @@ class refresh_privileges_args:
"""
Attributes:
- objToRefresh
+ - authorizer
- grantRequest
"""
thrift_spec = (
None, # 0
(1, TType.STRUCT, 'objToRefresh', (HiveObjectRef, HiveObjectRef.thrift_spec), None, ), # 1
- (2, TType.STRUCT, 'grantRequest', (GrantRevokePrivilegeRequest, GrantRevokePrivilegeRequest.thrift_spec), None, ), # 2
+ (2, TType.STRING, 'authorizer', None, None, ), # 2
+ (3, TType.STRUCT, 'grantRequest', (GrantRevokePrivilegeRequest, GrantRevokePrivilegeRequest.thrift_spec), None, ), # 3
)
- def __init__(self, objToRefresh=None, grantRequest=None,):
+ def __init__(self, objToRefresh=None, authorizer=None, grantRequest=None,):
self.objToRefresh = objToRefresh
+ self.authorizer = authorizer
self.grantRequest = grantRequest
def read(self, iprot):
@@ -36907,6 +36913,11 @@ class refresh_privileges_args:
else:
iprot.skip(ftype)
elif fid == 2:
+ if ftype == TType.STRING:
+ self.authorizer = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
if ftype == TType.STRUCT:
self.grantRequest = GrantRevokePrivilegeRequest()
self.grantRequest.read(iprot)
@@ -36926,8 +36937,12 @@ class refresh_privileges_args:
oprot.writeFieldBegin('objToRefresh', TType.STRUCT, 1)
self.objToRefresh.write(oprot)
oprot.writeFieldEnd()
+ if self.authorizer is not None:
+ oprot.writeFieldBegin('authorizer', TType.STRING, 2)
+ oprot.writeString(self.authorizer)
+ oprot.writeFieldEnd()
if self.grantRequest is not None:
- oprot.writeFieldBegin('grantRequest', TType.STRUCT, 2)
+ oprot.writeFieldBegin('grantRequest', TType.STRUCT, 3)
self.grantRequest.write(oprot)
oprot.writeFieldEnd()
oprot.writeFieldStop()
@@ -36940,6 +36955,7 @@ class refresh_privileges_args:
def __hash__(self):
value = 17
value = (value * 31) ^ hash(self.objToRefresh)
+ value = (value * 31) ^ hash(self.authorizer)
value = (value * 31) ^ hash(self.grantRequest)
return value
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
index fdec32e..786c8c5 100644
--- a/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
+++ b/standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
@@ -2013,6 +2013,7 @@ class HiveObjectPrivilege:
- principalName
- principalType
- grantInfo
+ - authorizer
"""
thrift_spec = (
@@ -2021,13 +2022,15 @@ class HiveObjectPrivilege:
(2, TType.STRING, 'principalName', None, None, ), # 2
(3, TType.I32, 'principalType', None, None, ), # 3
(4, TType.STRUCT, 'grantInfo', (PrivilegeGrantInfo, PrivilegeGrantInfo.thrift_spec), None, ), # 4
+ (5, TType.STRING, 'authorizer', None, None, ), # 5
)
- def __init__(self, hiveObject=None, principalName=None, principalType=None, grantInfo=None,):
+ def __init__(self, hiveObject=None, principalName=None, principalType=None, grantInfo=None, authorizer=None,):
self.hiveObject = hiveObject
self.principalName = principalName
self.principalType = principalType
self.grantInfo = grantInfo
+ self.authorizer = authorizer
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -2060,6 +2063,11 @@ class HiveObjectPrivilege:
self.grantInfo.read(iprot)
else:
iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.authorizer = iprot.readString()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -2086,6 +2094,10 @@ class HiveObjectPrivilege:
oprot.writeFieldBegin('grantInfo', TType.STRUCT, 4)
self.grantInfo.write(oprot)
oprot.writeFieldEnd()
+ if self.authorizer is not None:
+ oprot.writeFieldBegin('authorizer', TType.STRING, 5)
+ oprot.writeString(self.authorizer)
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -2099,6 +2111,7 @@ class HiveObjectPrivilege:
value = (value * 31) ^ hash(self.principalName)
value = (value * 31) ^ hash(self.principalType)
value = (value * 31) ^ hash(self.grantInfo)
+ value = (value * 31) ^ hash(self.authorizer)
return value
def __repr__(self):
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb b/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
index fb73b28..9174596 100644
--- a/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
+++ b/standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
@@ -507,12 +507,14 @@ class HiveObjectPrivilege
PRINCIPALNAME = 2
PRINCIPALTYPE = 3
GRANTINFO = 4
+ AUTHORIZER = 5
FIELDS = {
HIVEOBJECT => {:type => ::Thrift::Types::STRUCT, :name => 'hiveObject', :class => ::HiveObjectRef},
PRINCIPALNAME => {:type => ::Thrift::Types::STRING, :name => 'principalName'},
PRINCIPALTYPE => {:type => ::Thrift::Types::I32, :name => 'principalType', :enum_class => ::PrincipalType},
- GRANTINFO => {:type => ::Thrift::Types::STRUCT, :name => 'grantInfo', :class => ::PrivilegeGrantInfo}
+ GRANTINFO => {:type => ::Thrift::Types::STRUCT, :name => 'grantInfo', :class => ::PrivilegeGrantInfo},
+ AUTHORIZER => {:type => ::Thrift::Types::STRING, :name => 'authorizer'}
}
def struct_fields; FIELDS; end
http://git-wip-us.apache.org/repos/asf/hive/blob/83afdb4d/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb b/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
index d394f72..4ef99bd 100644
--- a/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
+++ b/standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
@@ -2161,13 +2161,13 @@ module ThriftHiveMetastore
raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'grant_revoke_privileges failed: unknown result')
end
- def refresh_privileges(objToRefresh, grantRequest)
- send_refresh_privileges(objToRefresh, grantRequest)
+ def refresh_privileges(objToRefresh, authorizer, grantRequest)
+ send_refresh_privileges(objToRefresh, authorizer, grantRequest)
return recv_refresh_privileges()
end
- def send_refresh_privileges(objToRefresh, grantRequest)
- send_message('refresh_privileges', Refresh_privileges_args, :objToRefresh => objToRefresh, :grantRequest => grantRequest)
+ def send_refresh_privileges(objToRefresh, authorizer, grantRequest)
+ send_message('refresh_privileges', Refresh_privileges_args, :objToRefresh => objToRefresh, :authorizer => authorizer, :grantRequest => grantRequest)
end
def recv_refresh_privileges()
@@ -5141,7 +5141,7 @@ module ThriftHiveMetastore
args = read_args(iprot, Refresh_privileges_args)
result = Refresh_privileges_result.new()
begin
- result.success = @handler.refresh_privileges(args.objToRefresh, args.grantRequest)
+ result.success = @handler.refresh_privileges(args.objToRefresh, args.authorizer, args.grantRequest)
rescue ::MetaException => o1
result.o1 = o1
end
@@ -10926,10 +10926,12 @@ module ThriftHiveMetastore
class Refresh_privileges_args
include ::Thrift::Struct, ::Thrift::Struct_Union
OBJTOREFRESH = 1
- GRANTREQUEST = 2
+ AUTHORIZER = 2
+ GRANTREQUEST = 3
FIELDS = {
OBJTOREFRESH => {:type => ::Thrift::Types::STRUCT, :name => 'objToRefresh', :class => ::HiveObjectRef},
+ AUTHORIZER => {:type => ::Thrift::Types::STRING, :name => 'authorizer'},
GRANTREQUEST => {:type => ::Thrift::Types::STRUCT, :name => 'grantRequest', :class => ::GrantRevokePrivilegeRequest}
}