pvary commented on code in PR #3218:
URL: https://github.com/apache/hive/pull/3218#discussion_r862658017
##########
ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchronizer.java:
##########
@@ -199,57 +206,58 @@ public void run() {
LOG.info("Not selected as leader, skip");
continue;
}
- int numDc = 0, numDb = 0, numTbl = 0;
+ int numDc = 0, numCat = 0, numDb = 0, numTbl = 0;
for (String dcName : hiveClient.getAllDataConnectorNames()) {
numDc++;
- HiveObjectRef dcToRefresh =
getObjToRefresh(HiveObjectType.DATACONNECTOR, null, dcName);
+ HiveObjectRef dcToRefresh =
getObjToRefresh(HiveObjectType.DATACONNECTOR, null, null, dcName);
PrivilegeBag grantDataConnectorBag = new PrivilegeBag();
- addGrantPrivilegesToBag(policyProvider, grantDataConnectorBag,
HiveObjectType.DATACONNECTOR,
- null, dcName, null, authorizer);
+ addGrantPrivilegesToBag(policyProvider, grantDataConnectorBag,
HiveObjectType.DATACONNECTOR, null, null,
+ dcName, null, authorizer);
hiveClient.refresh_privileges(dcToRefresh, authorizer,
grantDataConnectorBag);
LOG.debug("processing data connector: " + dcName);
}
LOG.info("Success synchronize privilege " +
policyProvider.getClass().getName() + ":" + numDc + " dataconnectors");
- 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 catName: hiveClient.getCatalogs()) {
+ numCat++;
+ for (String dbName : hiveClient.getAllDatabases(catName)) {
+ numDb++;
+ HiveObjectRef dbToRefresh =
getObjToRefresh(HiveObjectType.DATABASE, catName, dbName, null);
+ PrivilegeBag grantDatabaseBag = new PrivilegeBag();
+ addGrantPrivilegesToBag(policyProvider, grantDatabaseBag,
HiveObjectType.DATABASE, catName, 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,
- dbName, tblName, null, authorizer);
- hiveClient.refresh_privileges(tableToRefresh, authorizer,
grantTableBag);
+ for (String tblName : hiveClient.getAllTables(catName, dbName)) {
+ numTbl++;
+ LOG.debug("processing " + dbName + "." + tblName);
+ HiveObjectRef tableToRefresh =
getObjToRefresh(HiveObjectType.TABLE, catName, dbName, tblName);
+ PrivilegeBag grantTableBag = new PrivilegeBag();
+ addGrantPrivilegesToBag(policyProvider, grantTableBag,
HiveObjectType.TABLE, catName, dbName, tblName, null,
+ authorizer);
+ hiveClient.refresh_privileges(tableToRefresh, authorizer,
grantTableBag);
- HiveObjectRef tableOfColumnsToRefresh =
getObjToRefresh(HiveObjectType.COLUMN, dbName, tblName);
- PrivilegeBag grantColumnBag = new PrivilegeBag();
- Table tbl = null;
- try {
- tbl = hiveClient.getTable(dbName, tblName);
- for (FieldSchema fs : tbl.getPartitionKeys()) {
- addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN,
- dbName, tblName, fs.getName(), authorizer);
- }
- for (FieldSchema fs : tbl.getSd().getCols()) {
- addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN,
- dbName, tblName, fs.getName(), authorizer);
+ HiveObjectRef tableOfColumnsToRefresh =
getObjToRefresh(HiveObjectType.COLUMN, catName, dbName, tblName);
+ PrivilegeBag grantColumnBag = new PrivilegeBag();
+ Table tbl = null;
+ try {
+ tbl = hiveClient.getTable(catName, dbName, tblName);
+ for (FieldSchema fs : tbl.getPartitionKeys()) {
+ addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN, catName, dbName, tblName, fs.getName(), authorizer);
+ }
+ for (FieldSchema fs : tbl.getSd().getCols()) {
+ addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN, catName, dbName, tblName, fs.getName(), authorizer);
+ }
+ hiveClient.refresh_privileges(tableOfColumnsToRefresh,
authorizer, grantColumnBag);
+ } catch (MetaException e) {
+ LOG.debug("Unable to synchronize " + tblName + ":" +
e.getMessage());
}
- hiveClient.refresh_privileges(tableOfColumnsToRefresh,
authorizer, grantColumnBag);
- } catch (MetaException e) {
- LOG.debug("Unable to synchronize " + tblName + ":" +
e.getMessage());
}
}
}
- LOG.info("Success synchronize privilege " +
policyProvider.getClass().getName() + ":" + numDb + " databases, "
- + numTbl + " tables");
+ LOG.info(String.format("Success synchronize privilege %s : %d
catalogs, %d databases, %d tables.",
Review Comment:
Maybe just keep as the other part with concatenation so at least it is
consistens inside the file?
##########
ql/src/java/org/apache/hadoop/hive/ql/security/authorization/PrivilegeSynchronizer.java:
##########
@@ -199,57 +206,58 @@ public void run() {
LOG.info("Not selected as leader, skip");
continue;
}
- int numDc = 0, numDb = 0, numTbl = 0;
+ int numDc = 0, numCat = 0, numDb = 0, numTbl = 0;
for (String dcName : hiveClient.getAllDataConnectorNames()) {
numDc++;
- HiveObjectRef dcToRefresh =
getObjToRefresh(HiveObjectType.DATACONNECTOR, null, dcName);
+ HiveObjectRef dcToRefresh =
getObjToRefresh(HiveObjectType.DATACONNECTOR, null, null, dcName);
PrivilegeBag grantDataConnectorBag = new PrivilegeBag();
- addGrantPrivilegesToBag(policyProvider, grantDataConnectorBag,
HiveObjectType.DATACONNECTOR,
- null, dcName, null, authorizer);
+ addGrantPrivilegesToBag(policyProvider, grantDataConnectorBag,
HiveObjectType.DATACONNECTOR, null, null,
+ dcName, null, authorizer);
hiveClient.refresh_privileges(dcToRefresh, authorizer,
grantDataConnectorBag);
LOG.debug("processing data connector: " + dcName);
}
LOG.info("Success synchronize privilege " +
policyProvider.getClass().getName() + ":" + numDc + " dataconnectors");
- 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 catName: hiveClient.getCatalogs()) {
+ numCat++;
+ for (String dbName : hiveClient.getAllDatabases(catName)) {
+ numDb++;
+ HiveObjectRef dbToRefresh =
getObjToRefresh(HiveObjectType.DATABASE, catName, dbName, null);
+ PrivilegeBag grantDatabaseBag = new PrivilegeBag();
+ addGrantPrivilegesToBag(policyProvider, grantDatabaseBag,
HiveObjectType.DATABASE, catName, 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,
- dbName, tblName, null, authorizer);
- hiveClient.refresh_privileges(tableToRefresh, authorizer,
grantTableBag);
+ for (String tblName : hiveClient.getAllTables(catName, dbName)) {
+ numTbl++;
+ LOG.debug("processing " + dbName + "." + tblName);
+ HiveObjectRef tableToRefresh =
getObjToRefresh(HiveObjectType.TABLE, catName, dbName, tblName);
+ PrivilegeBag grantTableBag = new PrivilegeBag();
+ addGrantPrivilegesToBag(policyProvider, grantTableBag,
HiveObjectType.TABLE, catName, dbName, tblName, null,
+ authorizer);
+ hiveClient.refresh_privileges(tableToRefresh, authorizer,
grantTableBag);
- HiveObjectRef tableOfColumnsToRefresh =
getObjToRefresh(HiveObjectType.COLUMN, dbName, tblName);
- PrivilegeBag grantColumnBag = new PrivilegeBag();
- Table tbl = null;
- try {
- tbl = hiveClient.getTable(dbName, tblName);
- for (FieldSchema fs : tbl.getPartitionKeys()) {
- addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN,
- dbName, tblName, fs.getName(), authorizer);
- }
- for (FieldSchema fs : tbl.getSd().getCols()) {
- addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN,
- dbName, tblName, fs.getName(), authorizer);
+ HiveObjectRef tableOfColumnsToRefresh =
getObjToRefresh(HiveObjectType.COLUMN, catName, dbName, tblName);
+ PrivilegeBag grantColumnBag = new PrivilegeBag();
+ Table tbl = null;
+ try {
+ tbl = hiveClient.getTable(catName, dbName, tblName);
+ for (FieldSchema fs : tbl.getPartitionKeys()) {
+ addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN, catName, dbName, tblName, fs.getName(), authorizer);
+ }
+ for (FieldSchema fs : tbl.getSd().getCols()) {
+ addGrantPrivilegesToBag(policyProvider, grantColumnBag,
HiveObjectType.COLUMN, catName, dbName, tblName, fs.getName(), authorizer);
+ }
+ hiveClient.refresh_privileges(tableOfColumnsToRefresh,
authorizer, grantColumnBag);
+ } catch (MetaException e) {
+ LOG.debug("Unable to synchronize " + tblName + ":" +
e.getMessage());
}
- hiveClient.refresh_privileges(tableOfColumnsToRefresh,
authorizer, grantColumnBag);
- } catch (MetaException e) {
- LOG.debug("Unable to synchronize " + tblName + ":" +
e.getMessage());
}
}
}
- LOG.info("Success synchronize privilege " +
policyProvider.getClass().getName() + ":" + numDb + " databases, "
- + numTbl + " tables");
+ LOG.info(String.format("Success synchronize privilege %s : %d
catalogs, %d databases, %d tables.",
Review Comment:
Maybe just keep as the other part with concatenation so at least it is
consistent inside the file?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]