[ 
https://issues.apache.org/jira/browse/RANGER-5178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17942333#comment-17942333
 ] 

Abhishek Kumar commented on RANGER-5178:
----------------------------------------

It looks like the areas targeted to check for existing objects in the PR 
[https://github.com/apache/ranger/pull/554] might be unreachable due to other 
checks already in place.


For ex: 
1. When deleting a role just after updating a policy (with delayed timer) with 
the newly added same role causes exception to be seen in the GUI and so 
deletion does not go through.

2. Updating a policy with added roles/users/groups and simultaneously deleting 
the same policy in a concurrent session causes the below exception:
{code:java}
javax.persistence.OptimisticLockException: Exception [EclipseLink-5011] 
(Eclipse Persistence Services - 2.7.12.v20230209-e5c4074ef3): 
org.eclipse.persistence.exceptions.OptimisticLockException
Exception Description: One or more objects cannot be updated because it has 
changed or been deleted since it was last read {code}
which causes the deletion triggered to not take effect.

> Update callers of executeOnTransactionCommit to check for existence of objects
> ------------------------------------------------------------------------------
>
>                 Key: RANGER-5178
>                 URL: https://issues.apache.org/jira/browse/RANGER-5178
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>            Reporter: Abhishek Kumar
>            Assignee: Abhishek Kumar
>            Priority: Major
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> executeOnTransactionCommit in RangerTransactionSynchronizationAdapter.java is 
> called multiple places for doing post transaction commit tasks in a 
> subsequent transaction following the parent transaction.
>  
> Verify and update all such references to check for existence of objects being 
> referenced in the run method before executing commands on the database.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to