This is an automated email from the ASF dual-hosted git repository.
maheshbandal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new 94072cf191 RANGER-5097: Fix setOwnerUser function to ensure the Hive
default {owner} policy works correctly
94072cf191 is described below
commit 94072cf191e4d3547321c14ecddc3b17d199ce4e
Author: Mahesh Bandal <[email protected]>
AuthorDate: Thu Jan 16 15:58:40 2025 +0530
RANGER-5097: Fix setOwnerUser function to ensure the Hive default {owner}
policy works correctly
---
.../authorization/hive/authorizer/RangerHiveAuthorizer.java | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git
a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
index 38b8381a56..8ff5a42192 100644
---
a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
+++
b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
@@ -172,14 +172,16 @@ public RangerHiveAuthorizer(HiveMetastoreClientFactory
metastoreClientFactory, H
static void setOwnerUser(RangerHiveResource resource, HivePrivilegeObject
hiveObj, IMetaStoreClient metaStoreClient, Map<String, String> objOwners) {
if (hiveObj != null) {
String objName = null;
- String owner = null;
+ String owner = hiveObj.getOwnerName();
// resource.setOwnerUser(hiveObj.getOwnerName());
switch (hiveObj.getType()) {
case DATABASE:
try {
objName = hiveObj.getDbname();
- owner = objOwners != null ? objOwners.get(objName) :
null;
+ if (StringUtils.isBlank(owner) && objOwners != null) {
+ owner = objOwners.get(objName);
+ }
if (StringUtils.isBlank(owner)) {
Database database = metaStoreClient != null ?
metaStoreClient.getDatabase(hiveObj.getDbname()) : null;
@@ -199,7 +201,9 @@ static void setOwnerUser(RangerHiveResource resource,
HivePrivilegeObject hiveOb
case COLUMN:
try {
objName = hiveObj.getDbname() + "." +
hiveObj.getObjectName();
- owner = objOwners != null ? objOwners.get(objName) :
null;
+ if (StringUtils.isBlank(owner) && objOwners != null) {
+ owner = objOwners.get(objName);
+ }
if (StringUtils.isBlank(owner)) {
Table table = metaStoreClient != null ?
metaStoreClient.getTable(hiveObj.getDbname(), hiveObj.getObjectName()) : null;