[ https://issues.apache.org/jira/browse/RANGER-3472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17429103#comment-17429103 ]
Madhan Neethiraj commented on RANGER-3472: ------------------------------------------ [~Xuze Yang] - above lock approach would work only within a single Ranger admin process; it wouldn't work when Ranger admin server deployed in high-availability mode i.e. multiple instances connecting to same DB schema. Hence I suggested use of DB unique-key constraints. > The createPolicy() method is not thread safe. In another word, we can create > policies with same resources when creating policies concurrently > --------------------------------------------------------------------------------------------------------------------------------------------- > > Key: RANGER-3472 > URL: https://issues.apache.org/jira/browse/RANGER-3472 > Project: Ranger > Issue Type: Bug > Components: Ranger > Affects Versions: 2.1.0 > Reporter: Xuze Yang > Priority: Major > > In our production environment, we happen to find that two policies exist with > the same resources.In this case, when we want to modify either policy, ranger > doesn't allow this operation and throws message like "*Error Code : 3010 > Another policy already exists for matching resource: policy-name=[hhh9], > service=[default-Hdfs]*". > I go through the source code about create policy, find that the > createPolicy() in class ServiceREST is not thread safe. When we create > policies concurrently, we may create several policies with the same resources. -- This message was sent by Atlassian Jira (v8.3.4#803005)