-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68101/#review206640
-----------------------------------------------------------




agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
Lines 63 (patched)
<https://reviews.apache.org/r/68101/#comment289700>

    Please check intentation - here and rest of the new code in this patch.



agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
Lines 226 (patched)
<https://reviews.apache.org/r/68101/#comment289704>

    This would create new string for each call to getEvaluatorsForResource() 
when optIgnoreCase=true. It will help to avoid this string creation.



agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
Lines 241-243 (patched)
<https://reviews.apache.org/r/68101/#comment289709>

    Consider replacing #223 to #255 with:
    
    TrieNode<T> curr = root;
    final int   len  = resource.length();
    int         i    = 0;
    
    while (i < len) {
      final TrieNode<T> child = 
curr.getChild(getLookupChar(resource.charAt(i)));
    
      if (child == null) {
        break;
      }
    
      final String childStr = child.getStr();
    
      if (!lookupResource.regionMatches(optIgnoreCase, i, childStr, 0, 
childStr.length())) {
        break;
      }
    
      curr = child;
      i += childStr.length();
    }
    
    List<T> ret = i == len ? curr.getEvaluators() ? 
curr.getWildcardEvaluators();



agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
Lines 463 (patched)
<https://reviews.apache.org/r/68101/#comment289701>

    For easier readability, consider replacing:
    lines #463 and #475 with - newChild.addChild(child);
    lines #461 and #473 with - this.addChild(newChild)
    
     class TrieNode
       private void addChild(TrieNode child) {
         children.put(child.getStr().charAt(0), child);
       }
     }



agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
Line 454 (original), 529 (patched)
<https://reviews.apache.org/r/68101/#comment289702>

    Having !isSharingParentWildcardEvaluators in 'if' avoids shared list from 
getting sorted multiple times. Why remove this?



agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
Line 458 (original), 533 (patched)
<https://reviews.apache.org/r/68101/#comment289703>

    Having 'evaluators != wildcardEvaluators' in 'if' avoids duplicate sorting, 
when evaluator and wildcardEvaluators are the same list. Why remove this?


- Madhan Neethiraj


On July 31, 2018, 2:50 a.m., Abhay Kulkarni wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68101/
> -----------------------------------------------------------
> 
> (Updated July 31, 2018, 2:50 a.m.)
> 
> 
> Review request for ranger, Madhan Neethiraj, Mehul Parikh, Pradeep Agrawal, 
> Ramesh Mani, and Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-2173
>     https://issues.apache.org/jira/browse/RANGER-2173
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> Ranger uses Trie data structure to look up policy resources for efficient 
> access. Trie tree may be optimized to contain fewer nodes and can be made 
> less deep. This will allow faster construction of Trie tree and faster lookup 
> for a resource. This is done by using longest common prefix strings instead 
> of single character to organize Trie tree. Also added instrumentation to 
> measure performance.
> 
> 
> Diffs
> -----
> 
>   
> agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java
>  e7e8cf519 
>   agents-common/src/test/resources/log4j.xml d1a6f1c8a 
> 
> 
> Diff: https://reviews.apache.org/r/68101/diff/2/
> 
> 
> Testing
> -------
> 
> Passes all unit tests
> 
> 
> Thanks,
> 
> Abhay Kulkarni
> 
>

Reply via email to