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