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

(Updated Nov. 8, 2022, 3:56 a.m.)


Review request for ranger, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, Pradeep 
Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, and Velmurugan 
Periasamy.


Bugs: RANGER-3903
    https://issues.apache.org/jira/browse/RANGER-3903


Repository: ranger


Description
-------

After going through the below code snippets in the master branch 


while (iter.hasNext()) {
    RangerPolicy policy = iter.next();
    if (policyId.equals(policy.getId()) && (changeType == 
RangerPolicyDelta.CHANGE_TYPE_POLICY_DELETE || changeType == 
RangerPolicyDelta.CHANGE_TYPE_POLICY_UPDATE)) {
        deletedPolicies.add(policy);
        iter.remove();
    }
}
switch (changeType) {
    case RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE:
        {
            if (CollectionUtils.isNotEmpty(deletedPolicies)) {
                LOG.warn("Unexpected: found existing policy for 
CHANGE_TYPE_POLICY_CREATE: " + Arrays.toString(deletedPolicies.toArray()));
            }
            break;
        }
    case RangerPolicyDelta.CHANGE_TYPE_POLICY_UPDATE:
        {
            if (CollectionUtils.isEmpty(deletedPolicies) || 
deletedPolicies.size() > 1) {
                LOG.warn("Unexpected: found no policy or multiple policies for 
CHANGE_TYPE_POLICY_UPDATE: " + Arrays.toString(deletedPolicies.toArray()));
            }
            break;
        }
    case RangerPolicyDelta.CHANGE_TYPE_POLICY_DELETE:
        {
            if (CollectionUtils.isEmpty(deletedPolicies) || 
deletedPolicies.size() > 1) {
                LOG.warn("Unexpected: found no policy or multiple policies for 
CHANGE_TYPE_POLICY_DELETE: " + Arrays.toString(deletedPolicies.toArray()));
            }
            break;
        }
    default:
        break;
}
>From the above code, we iterate delta policies and check if this policy exists 
>in the existing policy, we add that to deletePolicies list.

If a delta change type is created, we expect that it should not be in the 
existing old policy which should not have happened. So the below block code is 
not needed

 case RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE: {
                                if 
(CollectionUtils.isNotEmpty(deletedPolicies)) {
                                    LOG.warn("Unexpected: found existing policy 
for CHANGE_TYPE_POLICY_CREATE: " + Arrays.toString(deletedPolicies.toArray()));
                                }
                                break;
                            }


Diffs (updated)
-----

  
agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
 e9223fe69 


Diff: https://reviews.apache.org/r/74112/diff/3/

Changes: https://reviews.apache.org/r/74112/diff/2-3/


Testing
-------

Tested the below Rest API's to make sure everything works fine

1.  ServiceREST Rest API :GET /plugins/policies/download/{serviceName}

2.  ServiceREST Rest API :GET /plugins/secure/policies/download/{serviceName}


Thanks,

Ramachandran Krishnan

Reply via email to