Description
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.
Attachments
Issue Links
- is fixed by
-
RANGER-3493 Add unique index on service and resource_signature column of x_policy table
- Resolved
-
RANGER-3511 Create Java patch to update policy resource-signature to unique value.
- Resolved
-
RANGER-3490 Make policy resource signature is unique in a service
- Resolved