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/07/31 23:55:16 UTC
hive git commit: HIVE-20130: Better logging for information schema
synchronizer (Daniel Dai, reviewed by Vaibhav Gumashta)
Repository: hive
Updated Branches:
refs/heads/master 5b2124b99 -> e9e1f8f6e
HIVE-20130: Better logging for information schema synchronizer (Daniel Dai, reviewed by Vaibhav Gumashta)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e9e1f8f6
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e9e1f8f6
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e9e1f8f6
Branch: refs/heads/master
Commit: e9e1f8f6e2f7b66585dc58ca561002b4bdee87fa
Parents: 5b2124b
Author: Daniel Dai <da...@gmail.com>
Authored: Tue Jul 31 16:54:26 2018 -0700
Committer: Daniel Dai <da...@gmail.com>
Committed: Tue Jul 31 16:54:30 2018 -0700
----------------------------------------------------------------------
.../authorization/PrivilegeSynchonizer.java | 17 ++++++++++++-----
.../apache/hive/service/server/HiveServer2.java | 1 +
2 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/e9e1f8f6/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchonizer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchonizer.java b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchonizer.java
index e56094e..9ce665f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchonizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchonizer.java
@@ -166,19 +166,25 @@ public class PrivilegeSynchonizer implements Runnable {
long interval = HiveConf.getTimeVar(hiveConf, ConfVars.HIVE_PRIVILEGE_SYNCHRONIZER_INTERVAL, TimeUnit.SECONDS);
try {
for (HivePolicyProvider policyProvider : policyProviderContainer) {
+ LOG.info("Start synchronize privilege " + policyProvider.getClass().getName());
String authorizer = policyProvider.getClass().getSimpleName();
if (!privilegeSynchonizerLatch.await(interval, TimeUnit.SECONDS)) {
+ LOG.info("Not selected as leader, skip");
continue;
}
- LOG.info("Start synchonize privilege");
+ int numDb = 0, numTbl = 0;
for (String dbName : hiveClient.getAllDatabases()) {
+ numDb++;
HiveObjectRef dbToRefresh = getObjToRefresh(HiveObjectType.DATABASE, dbName, null);
PrivilegeBag grantDatabaseBag = new PrivilegeBag();
addGrantPrivilegesToBag(policyProvider, grantDatabaseBag, HiveObjectType.DATABASE,
dbName, null, null, authorizer);
hiveClient.refresh_privileges(dbToRefresh, authorizer, grantDatabaseBag);
+ LOG.debug("processing " + dbName);
for (String tblName : hiveClient.getAllTables(dbName)) {
+ numTbl++;
+ LOG.debug("processing " + dbName + "." + tblName);
HiveObjectRef tableToRefresh = getObjToRefresh(HiveObjectType.TABLE, dbName, tblName);
PrivilegeBag grantTableBag = new PrivilegeBag();
addGrantPrivilegesToBag(policyProvider, grantTableBag, HiveObjectType.TABLE,
@@ -199,13 +205,14 @@ public class PrivilegeSynchonizer implements Runnable {
hiveClient.refresh_privileges(tableOfColumnsToRefresh, authorizer, grantColumnBag);
}
}
- // Wait if no exception happens, otherwise, retry immediately
+ LOG.info("Success synchronize privilege " + policyProvider.getClass().getName() + ":" + numDb + " databases, "
+ + numTbl + " tables");
}
+ // Wait if no exception happens, otherwise, retry immediately
+ LOG.info("Wait for " + interval + " seconds");
Thread.sleep(interval * 1000);
- LOG.info("Success synchonize privilege");
-
} catch (Exception e) {
- LOG.error("Error initializing PrivilegeSynchonizer: " + e.getMessage(), e);
+ LOG.error("Error initializing PrivilegeSynchronizer: " + e.getMessage(), e);
}
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/e9e1f8f6/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 ded3670..1f6a097 100644
--- a/service/src/java/org/apache/hive/service/server/HiveServer2.java
+++ b/service/src/java/org/apache/hive/service/server/HiveServer2.java
@@ -1011,6 +1011,7 @@ public class HiveServer2 extends CompositeService {
+ ZooKeeperHiveHelper.ZOOKEEPER_PATH_SEPARATOR + "leader";
LeaderLatch privilegeSynchonizerLatch = new LeaderLatch(zKClientForPrivSync, path);
privilegeSynchonizerLatch.start();
+ LOG.info("Find " + policyContainer.size() + " policy to synchronize, start PrivilegeSynchonizer");
Thread privilegeSynchonizerThread = new Thread(
new PrivilegeSynchonizer(privilegeSynchonizerLatch, policyContainer, hiveConf), "PrivilegeSynchonizer");
privilegeSynchonizerThread.start();