You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Abhishek Kumar (Jira)" <ji...@apache.org> on 2025/04/10 00:55:00 UTC

[jira] [Commented] (RANGER-5178) Update callers of executeOnTransactionCommit to check for existence of objects

    [ 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)