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;

Reply via email to