[1/2] ranger git commit: RANGER-2173: Optimize Trie constuction and Policy lookup
Repository: ranger Updated Branches: refs/heads/ranger-0.7 dddcf0155 -> 4bdfbd68e RANGER-2173: Optimize Trie constuction and Policy lookup Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/6a6e955b Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/6a6e955b Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/6a6e955b Branch: refs/heads/ranger-0.7 Commit: 6a6e955b3af41253b1a949e42f202e90875a4d06 Parents: dddcf01 Author: Abhay Kulkarni Authored: Tue Jul 31 16:30:47 2018 -0700 Committer: Abhay Kulkarni Committed: Wed Sep 26 20:20:48 2018 -0700 -- .../ranger/plugin/util/RangerResourceTrie.java | 539 --- agents-common/src/test/resources/log4j.xml | 14 + 2 files changed, 348 insertions(+), 205 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ranger/blob/6a6e955b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java -- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index 189a72b..a255566 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -21,6 +21,7 @@ package org.apache.ranger.plugin.util; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; @@ -30,7 +31,7 @@ import org.apache.ranger.plugin.resourcematcher.RangerAbstractResourceMatcher; import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher; import java.util.ArrayList; -import java.util.Collections; +import java.util.Collection; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -38,14 +39,17 @@ import java.util.Map; public class RangerResourceTrie { private static final Log LOG = LogFactory.getLog(RangerResourceTrie.class); +private static final Log PERF_TRIE_INIT_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.init"); +private static final Log PERF_TRIE_OP_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.op"); private static final String DEFAULT_WILDCARD_CHARS = "*?"; -private final String resourceName; -private final boolean optIgnoreCase; -private final boolean optWildcard; -private final String wildcardChars; -private final TrieNode root; +private final StringresourceName; +private final boolean optIgnoreCase; +private final boolean optWildcard; +private final StringwildcardChars; +private final TrieNode root; +private final Comparator comparator; public RangerResourceTrie(RangerServiceDef.RangerResourceDef resourceDef, List evaluators) { this(resourceDef, evaluators, null); @@ -56,6 +60,12 @@ public class RangerResourceTrie { LOG.debug("==> RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + ")"); } +RangerPerfTracer perf = null; + +if(RangerPerfTracer.isPerfTraceEnabled(PERF_TRIE_INIT_LOG)) { +perf = RangerPerfTracer.getPerfTracer(PERF_TRIE_INIT_LOG, "RangerResourceTrie(name=" + resourceDef.getName() + ")"); +} + Map matcherOptions = resourceDef.getMatcherOptions(); boolean optReplaceTokens = RangerAbstractResourceMatcher.getOptionReplaceTokens(matcherOptions); @@ -76,7 +86,8 @@ public class RangerResourceTrie { this.optIgnoreCase = RangerAbstractResourceMatcher.getOptionIgnoreCase(matcherOptions); this.optWildcard = RangerAbstractResourceMatcher.getOptionWildCard(matcherOptions); this.wildcardChars = optWildcard ? DEFAULT_WILDCARD_CHARS + tokenReplaceSpecialChars : "" + tokenReplaceSpecialChars; -this.root = new TrieNode(Character.valueOf((char)0)); +this.root = new TrieNode<>(null); +this.comparator= comparator; for(T evaluator : evaluators) { Map policyResources = evaluator.getPolicyResource(); @@ -109,7 +120,15 @@ public class RangerResourceTrie { root.postSetup(null, comparator); -LOG.info(toString()); +RangerPerfTracer.logAlways(perf); + +if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { +PERF_TRIE_INIT_LOG.trace(toString()); + +StringBuilder sb = new StringBuilder(); +root.toString("", sb); +PERF_TRIE_INIT_LOG.trace("Trie Dump:\n{" + sb.toString()
[08/28] ranger git commit: RANGER-2173: Optimize Trie constuction and Policy lookup
RANGER-2173: Optimize Trie constuction and Policy lookup Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/35982827 Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/35982827 Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/35982827 Branch: refs/heads/ranger-1.1 Commit: 3598282745908ea1687693fb2359e71445972bf3 Parents: 1a35857 Author: Abhay Kulkarni Authored: Tue Jul 31 16:30:47 2018 -0700 Committer: Mehul Parikh Committed: Tue Sep 4 11:33:43 2018 +0530 -- .../ranger/plugin/util/RangerResourceTrie.java | 450 +++ agents-common/src/test/resources/log4j.xml | 4 + 2 files changed, 267 insertions(+), 187 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ranger/blob/35982827/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java -- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index e7e8cf5..1723d14 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -21,6 +21,7 @@ package org.apache.ranger.plugin.util; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; @@ -31,7 +32,6 @@ import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -39,14 +39,16 @@ import java.util.Map; public class RangerResourceTrie { private static final Log LOG = LogFactory.getLog(RangerResourceTrie.class); +private static final Log PERF_TRIE_INIT_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.init"); +private static final Log PERF_TRIE_OP_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.op"); private static final String DEFAULT_WILDCARD_CHARS = "*?"; -private final String resourceName; -private final boolean optIgnoreCase; -private final boolean optWildcard; -private final String wildcardChars; -private final TrieNode root; +private final StringresourceName; +private final boolean optIgnoreCase; +private final boolean optWildcard; +private final StringwildcardChars; +private final TrieNode root; private final Comparator comparator; public RangerResourceTrie(RangerServiceDef.RangerResourceDef resourceDef, List evaluators) { @@ -58,6 +60,12 @@ public class RangerResourceTrie { LOG.debug("==> RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + ")"); } +RangerPerfTracer perf = null; + +if(RangerPerfTracer.isPerfTraceEnabled(PERF_TRIE_INIT_LOG)) { +perf = RangerPerfTracer.getPerfTracer(PERF_TRIE_INIT_LOG, "RangerResourceTrie(name=" + resourceDef.getName() + ")"); +} + Map matcherOptions = resourceDef.getMatcherOptions(); boolean optReplaceTokens = RangerAbstractResourceMatcher.getOptionReplaceTokens(matcherOptions); @@ -78,7 +86,7 @@ public class RangerResourceTrie { this.optIgnoreCase = RangerAbstractResourceMatcher.getOptionIgnoreCase(matcherOptions); this.optWildcard = RangerAbstractResourceMatcher.getOptionWildCard(matcherOptions); this.wildcardChars = optWildcard ? DEFAULT_WILDCARD_CHARS + tokenReplaceSpecialChars : "" + tokenReplaceSpecialChars; -this.root = new TrieNode(Character.valueOf((char)0)); +this.root = new TrieNode<>(null); this.comparator= comparator; for(T evaluator : evaluators) { @@ -112,7 +120,15 @@ public class RangerResourceTrie { root.postSetup(null, comparator); -LOG.info(toString()); +RangerPerfTracer.logAlways(perf); + +if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { +PERF_TRIE_INIT_LOG.trace(toString()); + +StringBuilder sb = new StringBuilder(); +root.toString("", sb); +PERF_TRIE_INIT_LOG.trace("Trie Dump:\n{" + sb.toString() + "}"); +} if(LOG.isDebugEnabled()) { LOG.debug("<== RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + "): " + toString()); @@ -140,7 +156,7 @@ public class RangerResourceTrie { return null; }
[14/28] ranger git commit: RANGER-2173: Optimize Trie constuction and Policy lookup - Part II
RANGER-2173: Optimize Trie constuction and Policy lookup - Part II Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/27f56df1 Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/27f56df1 Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/27f56df1 Branch: refs/heads/ranger-1.1 Commit: 27f56df10c667b5f8de192d6acbc6968220afa57 Parents: c470225 Author: Abhay Kulkarni Authored: Sun Aug 5 09:01:24 2018 -0700 Committer: Mehul Parikh Committed: Tue Sep 4 11:38:30 2018 +0530 -- .../org/apache/ranger/plugin/util/RangerResourceTrie.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ranger/blob/27f56df1/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java -- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index 1723d14..10c6faa 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -122,9 +122,11 @@ public class RangerResourceTrie { RangerPerfTracer.logAlways(perf); -if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { -PERF_TRIE_INIT_LOG.trace(toString()); +if (PERF_TRIE_INIT_LOG.isDebugEnabled()) { +PERF_TRIE_INIT_LOG.debug(toString()); +} +if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { StringBuilder sb = new StringBuilder(); root.toString("", sb); PERF_TRIE_INIT_LOG.trace("Trie Dump:\n{" + sb.toString() + "}"); @@ -442,7 +444,9 @@ public class RangerResourceTrie { final String childStr = child.getStr(); final int childStrLen = childStr.length(); -if (!StringUtils.equals(childStr, str)) { +final boolean isExactMatch = optIgnoreCase ? StringUtils.equalsIgnoreCase(childStr, str) : StringUtils.equals(childStr, str); + +if (!isExactMatch) { final int numOfCharactersToMatch = childStrLen < len ? childStrLen : len; int index = 1; for (; index < numOfCharactersToMatch; index++) {
[06/27] ranger git commit: RANGER-2173: Optimize Trie constuction and Policy lookup
RANGER-2173: Optimize Trie constuction and Policy lookup Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/97f7b4da Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/97f7b4da Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/97f7b4da Branch: refs/heads/ranger-1 Commit: 97f7b4da8acd1fa2e80fc67297e1ead1f0ea297f Parents: cd42a61 Author: Abhay Kulkarni Authored: Tue Jul 31 16:30:47 2018 -0700 Committer: Mehul Parikh Committed: Wed Aug 29 14:18:32 2018 +0530 -- .../ranger/plugin/util/RangerResourceTrie.java | 450 +++ agents-common/src/test/resources/log4j.xml | 4 + 2 files changed, 267 insertions(+), 187 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ranger/blob/97f7b4da/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java -- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index e7e8cf5..1723d14 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -21,6 +21,7 @@ package org.apache.ranger.plugin.util; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; @@ -31,7 +32,6 @@ import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -39,14 +39,16 @@ import java.util.Map; public class RangerResourceTrie { private static final Log LOG = LogFactory.getLog(RangerResourceTrie.class); +private static final Log PERF_TRIE_INIT_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.init"); +private static final Log PERF_TRIE_OP_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.op"); private static final String DEFAULT_WILDCARD_CHARS = "*?"; -private final String resourceName; -private final boolean optIgnoreCase; -private final boolean optWildcard; -private final String wildcardChars; -private final TrieNode root; +private final StringresourceName; +private final boolean optIgnoreCase; +private final boolean optWildcard; +private final StringwildcardChars; +private final TrieNode root; private final Comparator comparator; public RangerResourceTrie(RangerServiceDef.RangerResourceDef resourceDef, List evaluators) { @@ -58,6 +60,12 @@ public class RangerResourceTrie { LOG.debug("==> RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + ")"); } +RangerPerfTracer perf = null; + +if(RangerPerfTracer.isPerfTraceEnabled(PERF_TRIE_INIT_LOG)) { +perf = RangerPerfTracer.getPerfTracer(PERF_TRIE_INIT_LOG, "RangerResourceTrie(name=" + resourceDef.getName() + ")"); +} + Map matcherOptions = resourceDef.getMatcherOptions(); boolean optReplaceTokens = RangerAbstractResourceMatcher.getOptionReplaceTokens(matcherOptions); @@ -78,7 +86,7 @@ public class RangerResourceTrie { this.optIgnoreCase = RangerAbstractResourceMatcher.getOptionIgnoreCase(matcherOptions); this.optWildcard = RangerAbstractResourceMatcher.getOptionWildCard(matcherOptions); this.wildcardChars = optWildcard ? DEFAULT_WILDCARD_CHARS + tokenReplaceSpecialChars : "" + tokenReplaceSpecialChars; -this.root = new TrieNode(Character.valueOf((char)0)); +this.root = new TrieNode<>(null); this.comparator= comparator; for(T evaluator : evaluators) { @@ -112,7 +120,15 @@ public class RangerResourceTrie { root.postSetup(null, comparator); -LOG.info(toString()); +RangerPerfTracer.logAlways(perf); + +if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { +PERF_TRIE_INIT_LOG.trace(toString()); + +StringBuilder sb = new StringBuilder(); +root.toString("", sb); +PERF_TRIE_INIT_LOG.trace("Trie Dump:\n{" + sb.toString() + "}"); +} if(LOG.isDebugEnabled()) { LOG.debug("<== RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + "): " + toString()); @@ -140,7 +156,7 @@ public class RangerResourceTrie { return null; } -
[12/27] ranger git commit: RANGER-2173: Optimize Trie constuction and Policy lookup - Part II
RANGER-2173: Optimize Trie constuction and Policy lookup - Part II Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/425bb69a Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/425bb69a Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/425bb69a Branch: refs/heads/ranger-1 Commit: 425bb69a738dfb1bef8a24f304289e1acae50db5 Parents: 05fc503 Author: Abhay Kulkarni Authored: Sun Aug 5 09:01:24 2018 -0700 Committer: Mehul Parikh Committed: Wed Aug 29 14:23:30 2018 +0530 -- .../org/apache/ranger/plugin/util/RangerResourceTrie.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ranger/blob/425bb69a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java -- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index 1723d14..10c6faa 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -122,9 +122,11 @@ public class RangerResourceTrie { RangerPerfTracer.logAlways(perf); -if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { -PERF_TRIE_INIT_LOG.trace(toString()); +if (PERF_TRIE_INIT_LOG.isDebugEnabled()) { +PERF_TRIE_INIT_LOG.debug(toString()); +} +if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { StringBuilder sb = new StringBuilder(); root.toString("", sb); PERF_TRIE_INIT_LOG.trace("Trie Dump:\n{" + sb.toString() + "}"); @@ -442,7 +444,9 @@ public class RangerResourceTrie { final String childStr = child.getStr(); final int childStrLen = childStr.length(); -if (!StringUtils.equals(childStr, str)) { +final boolean isExactMatch = optIgnoreCase ? StringUtils.equalsIgnoreCase(childStr, str) : StringUtils.equals(childStr, str); + +if (!isExactMatch) { final int numOfCharactersToMatch = childStrLen < len ? childStrLen : len; int index = 1; for (; index < numOfCharactersToMatch; index++) {
ranger git commit: RANGER-2173: Optimize Trie constuction and Policy lookup
Repository: ranger Updated Branches: refs/heads/master 1d47302f9 -> ec711360a RANGER-2173: Optimize Trie constuction and Policy lookup Project: http://git-wip-us.apache.org/repos/asf/ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/ec711360 Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/ec711360 Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/ec711360 Branch: refs/heads/master Commit: ec711360ab0e84905476930b11e92641edf07d7a Parents: 1d47302 Author: Abhay Kulkarni Authored: Tue Jul 31 16:30:47 2018 -0700 Committer: Abhay Kulkarni Committed: Tue Jul 31 16:30:47 2018 -0700 -- .../ranger/plugin/util/RangerResourceTrie.java | 450 +++ agents-common/src/test/resources/log4j.xml | 4 + 2 files changed, 267 insertions(+), 187 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ranger/blob/ec711360/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java -- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index e7e8cf5..1723d14 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -21,6 +21,7 @@ package org.apache.ranger.plugin.util; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; @@ -31,7 +32,6 @@ import org.apache.ranger.plugin.resourcematcher.RangerResourceMatcher; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -39,14 +39,16 @@ import java.util.Map; public class RangerResourceTrie { private static final Log LOG = LogFactory.getLog(RangerResourceTrie.class); +private static final Log PERF_TRIE_INIT_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.init"); +private static final Log PERF_TRIE_OP_LOG = RangerPerfTracer.getPerfLogger("resourcetrie.op"); private static final String DEFAULT_WILDCARD_CHARS = "*?"; -private final String resourceName; -private final boolean optIgnoreCase; -private final boolean optWildcard; -private final String wildcardChars; -private final TrieNode root; +private final StringresourceName; +private final boolean optIgnoreCase; +private final boolean optWildcard; +private final StringwildcardChars; +private final TrieNode root; private final Comparator comparator; public RangerResourceTrie(RangerServiceDef.RangerResourceDef resourceDef, List evaluators) { @@ -58,6 +60,12 @@ public class RangerResourceTrie { LOG.debug("==> RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + ")"); } +RangerPerfTracer perf = null; + +if(RangerPerfTracer.isPerfTraceEnabled(PERF_TRIE_INIT_LOG)) { +perf = RangerPerfTracer.getPerfTracer(PERF_TRIE_INIT_LOG, "RangerResourceTrie(name=" + resourceDef.getName() + ")"); +} + Map matcherOptions = resourceDef.getMatcherOptions(); boolean optReplaceTokens = RangerAbstractResourceMatcher.getOptionReplaceTokens(matcherOptions); @@ -78,7 +86,7 @@ public class RangerResourceTrie { this.optIgnoreCase = RangerAbstractResourceMatcher.getOptionIgnoreCase(matcherOptions); this.optWildcard = RangerAbstractResourceMatcher.getOptionWildCard(matcherOptions); this.wildcardChars = optWildcard ? DEFAULT_WILDCARD_CHARS + tokenReplaceSpecialChars : "" + tokenReplaceSpecialChars; -this.root = new TrieNode(Character.valueOf((char)0)); +this.root = new TrieNode<>(null); this.comparator= comparator; for(T evaluator : evaluators) { @@ -112,7 +120,15 @@ public class RangerResourceTrie { root.postSetup(null, comparator); -LOG.info(toString()); +RangerPerfTracer.logAlways(perf); + +if (PERF_TRIE_INIT_LOG.isTraceEnabled()) { +PERF_TRIE_INIT_LOG.trace(toString()); + +StringBuilder sb = new StringBuilder(); +root.toString("", sb); +PERF_TRIE_INIT_LOG.trace("Trie Dump:\n{" + sb.toString() + "}"); +} if(LOG.isDebugEnabled()) { LOG.debug("<== RangerResourceTrie(" + resourceDef.getName() + ", evaluatorCount=" + evaluators.size() + "): " + toString()); @@