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

abhay 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 3b543a7  RANGER-3088: Build tagged-resource-cache using memory 
optimization flags identical to policy-cache
3b543a7 is described below

commit 3b543a7549017059e0f49beaa74e2503088128ef
Author: Abhay Kulkarni <ab...@apache.org>
AuthorDate: Wed Nov 25 09:19:54 2020 -0800

    RANGER-3088: Build tagged-resource-cache using memory optimization flags 
identical to policy-cache
---
 .../plugin/contextenricher/RangerAbstractContextEnricher.java  | 10 ++++++++++
 .../ranger/plugin/contextenricher/RangerTagEnricher.java       |  2 +-
 .../ranger/plugin/policyengine/RangerPolicyRepository.java     |  5 +++--
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
index fa84760..f838f84 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
@@ -37,6 +37,7 @@ import org.apache.ranger.plugin.model.RangerServiceDef;
 import 
org.apache.ranger.plugin.model.RangerServiceDef.RangerContextEnricherDef;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
 import org.apache.ranger.plugin.policyengine.RangerPluginContext;
+import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
 import org.apache.ranger.plugin.service.RangerAuthContext;
 
 
@@ -48,6 +49,7 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
        protected String                   appId;
        protected RangerServiceDef         serviceDef;
        private   RangerPluginContext      pluginContext;
+       protected RangerPolicyEngineOptions options = new 
RangerPolicyEngineOptions();
 
        @Override
        public void setEnricherDef(RangerContextEnricherDef enricherDef) {
@@ -176,12 +178,20 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
                this.pluginContext = pluginContext;
        }
 
+       final public void setPolicyEngineOptions(RangerPolicyEngineOptions 
options) {
+               this.options = options;
+       }
+
        public RangerPluginConfig getPluginConfig() {
                RangerPluginContext pluginContext = this.pluginContext;
 
                return pluginContext != null ? pluginContext.getConfig() : null;
        }
 
+       public RangerPolicyEngineOptions getPolicyEngineOptions() {
+               return options;
+       }
+
        public void notifyAuthContextChanged() {
                RangerPluginContext pluginContext = this.pluginContext;
 
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
index 94ac749..fc73194 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
@@ -392,7 +392,7 @@ public class RangerTagEnricher extends 
RangerAbstractContextEnricher {
                                        serviceResourceTrie = new HashMap<>();
 
                                        for (RangerServiceDef.RangerResourceDef 
resourceDef : serviceDef.getResources()) {
-                                               
serviceResourceTrie.put(resourceDef.getName(), new 
RangerResourceTrie<>(resourceDef, resourceMatchers));
+                                               
serviceResourceTrie.put(resourceDef.getName(), new 
RangerResourceTrie(resourceDef, resourceMatchers, 
getPolicyEngineOptions().optimizeTrieForRetrieval, null));
                                        }
                                }
                                enrichedServiceTags = new 
EnrichedServiceTags(serviceTags, resourceMatchers, serviceResourceTrie);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
index 3886eea..169ed0f 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
@@ -1008,7 +1008,7 @@ public class RangerPolicyRepository {
                         contextEnricherDef = new 
RangerServiceDef.RangerContextEnricherDef(enricherDef.getItemId(), 
enricherDef.getName(), "org.apache.ranger.common.RangerAdminTagEnricher", null);
                     }
 
-                    RangerContextEnricher contextEnricher = 
buildContextEnricher(contextEnricherDef);
+                    RangerContextEnricher contextEnricher = 
buildContextEnricher(contextEnricherDef, options);
 
                     if (contextEnricher != null) {
                         contextEnrichers.add(contextEnricher);
@@ -1019,7 +1019,7 @@ public class RangerPolicyRepository {
         return contextEnrichers;
     }
 
-    private RangerContextEnricher 
buildContextEnricher(RangerServiceDef.RangerContextEnricherDef enricherDef) {
+    private RangerContextEnricher 
buildContextEnricher(RangerServiceDef.RangerContextEnricherDef enricherDef, 
RangerPolicyEngineOptions  options) {
         if(LOG.isDebugEnabled()) {
             LOG.debug("==> RangerPolicyRepository.buildContextEnricher(" + 
enricherDef + ")");
         }
@@ -1059,6 +1059,7 @@ public class RangerPolicyRepository {
                 if (ret instanceof RangerAbstractContextEnricher) {
                     RangerAbstractContextEnricher abstractContextEnricher = 
(RangerAbstractContextEnricher) ret;
                     abstractContextEnricher.setPluginContext(pluginContext);
+                    abstractContextEnricher.setPolicyEngineOptions(options);
                 }
                 ret.init();
             }

Reply via email to