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

Madhan Neethiraj commented on RANGER-663:
-----------------------------------------

Fix committed in ranger-0.5 branch. Commit details: 
http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/b63e2026

> Race condition during policy update causes policy to get in an bad state
> ------------------------------------------------------------------------
>
>                 Key: RANGER-663
>                 URL: https://issues.apache.org/jira/browse/RANGER-663
>             Project: Ranger
>          Issue Type: Bug
>          Components: admin
>    Affects Versions: 0.5.0
>            Reporter: Alok Lal
>            Assignee: Madhan Neethiraj
>            Priority: Critical
>             Fix For: 0.5.1, 0.6.0
>
>
> If two threads try to update one policy simultaneously then it can cause 
> {{x_policy_resource}} table to have multiple values for a given {{policy_id, 
> res_def_id}} combination.  When database gets in this state then that policy 
> can't be read until the {{x_policy_resource_map}} and {{x_policy_resource}} 
> tables are manually cleared up.
> To reproduce the problem: from two separate shells, update the same policy 
> using REST call in a tight loop. Soon the update calls will return failure 
> with status code 400. At this point the policy is in a bad state in the 
> database. After this point any attempt to update or read the policy will 
> result in failure.
> Expectation is that in case of simultaneous update only one update should 
> succeed other should fail.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to