You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ab...@apache.org on 2020/03/20 04:50:56 UTC

[ranger] branch master updated: RANGER-2761: Policy evaluators are not correctly updated when using policy deltas for downloads to plugins

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 6b2fba5  RANGER-2761: Policy evaluators are not correctly updated when using policy deltas for downloads to plugins
6b2fba5 is described below

commit 6b2fba5f83288e3f6d8e532748064d52b115ff9e
Author: starphin <18...@163.com>
AuthorDate: Thu Mar 19 21:49:39 2020 -0700

    RANGER-2761: Policy evaluators are not correctly updated when using policy deltas for downloads to plugins
---
 .../apache/ranger/plugin/policyengine/RangerResourceTrie.java  | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
index 88d3b97..e7d913c 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
@@ -917,11 +917,11 @@ public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> {
 
         boolean removeWildcardEvaluator(U evaluator) {
             if (CollectionUtils.isNotEmpty(wildcardEvaluators) && wildcardEvaluators.contains(evaluator)) {
+                undoSetup();
                 wildcardEvaluators.remove(evaluator);
                 if (CollectionUtils.isEmpty(wildcardEvaluators)) {
                     wildcardEvaluators = null;
                 }
-                undoSetup();
                 return true;
             } else {
                 return false;
@@ -930,12 +930,10 @@ public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> {
 
         void undoSetup() {
             if (isSetup) {
+                for (TrieNode<U> child : children.values()) {
+                    child.undoSetup();
+                }
                 if (evaluators != null) {
-
-                    for (TrieNode<U> child : children.values()) {
-                        child.undoSetup();
-                    }
-
                     if (evaluators == wildcardEvaluators) {
                         evaluators = null;
                     } else {