star created RANGER-2879:
----------------------------

             Summary: Improve performance of incrementally updating policies
                 Key: RANGER-2879
                 URL: https://issues.apache.org/jira/browse/RANGER-2879
             Project: Ranger
          Issue Type: Bug
          Components: plugins
    Affects Versions: 2.0.0
            Reporter: star
            Assignee: star


There is large amount of deleting policy operation in incrementally updating 
mechanism. But policies in RangerPolicyRepository is a List<RangerPolicy>. 
{code:java}
//
private void removePolicy(Long id) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("==> RangerPolicyRepository.removePolicy(" + id +")");
    }
    Iterator<RangerPolicy> iterator = policies.iterator();
    while (iterator.hasNext()) {
        if (id.equals(iterator.next().getId())) {
            iterator.remove();
            break;
        }
    }

    policyEvaluatorsMap.remove(id);

    if (LOG.isDebugEnabled()) {
        LOG.debug("<== RangerPolicyRepository.removePolicy(" + id +")");
    }
}
{code}
Replace list with a map structure will improve performance of removePolicy a 
lot.

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to