You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Alok Lal (JIRA)" <ji...@apache.org> on 2015/09/24 06:56:04 UTC
[jira] [Created] (RANGER-663) Race condition during policy update
causes policy to get in an bad state
Alok Lal created RANGER-663:
-------------------------------
Summary: 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
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 stage then no policy can be read for that service unless and until the {{x_policy_resource_map}} and {{x_policy_resource}} tables are manually cleared up.
To reproduce the problem create a policy for a resource like hive 3, 4 values at each level (this is to increase the chances of multiple simultaneous update of the {{x_policy_resource}} and {{x_policy_resource_map}} table. Then in a tight loop do PUT for that service in two separate shells. Quickly updates will start to fail with 400 (since during update we read a policy).
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)