This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch ranger-2.0
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/ranger-2.0 by this push:
     new 99287a2  RANGER-3377: HDFS plugin performance improvement - 
RangerHdfsResource.getAsString()
99287a2 is described below

commit 99287a2a5cb2c5c99c5b7378c8ae8c4da142b9ab
Author: cao zhiqiang <[email protected]>
AuthorDate: Wed Aug 25 22:16:39 2021 -0700

    RANGER-3377: HDFS plugin performance improvement - 
RangerHdfsResource.getAsString()
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
    (cherry picked from commit b0e970f21f7b2bd3f591e291684014f92434a2d3)
---
 .../plugin/policyengine/RangerAccessResourceImpl.java      |  4 ++++
 .../ranger/authorization/hadoop/RangerHdfsAuthorizer.java  | 14 ++++++++++++++
 2 files changed, 18 insertions(+)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessResourceImpl.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessResourceImpl.java
index 93810ae..b4811ee 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessResourceImpl.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessResourceImpl.java
@@ -261,4 +261,8 @@ public class RangerAccessResourceImpl implements 
RangerMutableResource {
 
                return sb;
        }
+
+        protected String getStringifiedValue() { return stringifiedValue; }
+
+        protected void setStringifiedValue(String val) { this.stringifiedValue 
= val; }
 }
diff --git 
a/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
 
b/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
index 7b2882c..6cd2a2e 100644
--- 
a/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
+++ 
b/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
@@ -30,6 +30,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.Stack;
 
@@ -814,6 +815,19 @@ class RangerHdfsResource extends RangerAccessResourceImpl {
                super.setValue(RangerHdfsAuthorizer.KEY_RESOURCE_PATH, path);
                super.setOwnerUser(owner);
        }
+
+       @Override
+       public String getAsString() {
+               String ret = super.getStringifiedValue();
+
+               if (ret == null) {
+                       ret = 
Objects.toString(super.getValue(RangerHdfsAuthorizer.KEY_RESOURCE_PATH));
+
+                       super.setStringifiedValue(ret);
+               }
+
+               return ret;
+       }
 }
 
 class RangerHdfsAccessRequest extends RangerAccessRequestImpl {

Reply via email to