This is an automated email from the ASF dual-hosted git repository.

abhay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 8df4825  RANGER-3253: Make incremental policy change computation more 
resilient - Part 2
8df4825 is described below

commit 8df4825aef02364bdda05b3355a7da96e7840706
Author: Abhay Kulkarni <[email protected]>
AuthorDate: Tue May 4 17:44:58 2021 -0700

    RANGER-3253: Make incremental policy change computation more resilient - 
Part 2
---
 .../plugin/policyengine/RangerPolicyRepository.java    |  5 +----
 .../apache/ranger/plugin/service/RangerBasePlugin.java |  4 +++-
 .../ranger/plugin/util/RangerPolicyDeltaUtil.java      |  4 ++--
 .../org/apache/ranger/biz/RangerPolicyAdminCache.java  |  2 +-
 .../org/apache/ranger/db/XXPolicyChangeLogDao.java     | 18 ++++++++----------
 5 files changed, 15 insertions(+), 18 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
index 15b8fc7..3a06497 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
@@ -1473,10 +1473,7 @@ public class RangerPolicyRepository {
             switch (changeType) {
                 case RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE:
                     if (delta.getPolicy() == null) {
-                        if (LOG.isDebugEnabled()) {
-                            LOG.debug("Could not find policy for policy-id:[" 
+ policyId + "]");
-                        }
-
+                        LOG.warn("Could not find policy for policy-id:[" + 
policyId + "]");
                         continue;
                     }
                     evaluator = getPolicyEvaluator(policyId);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
index a7c4c97..a1247bc 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
@@ -305,7 +305,9 @@ public class RangerBasePlugin {
                                }
 
                        } else {
-                               LOG.warn("Returning without saving policies to 
cache. Leaving current policy engine as-is");
+                               LOG.warn("Leaving current policy engine as-is");
+                               LOG.warn("Policies are not saved to cache. 
policyVersion in the policy-cache may be different than in Ranger-admin, even 
though the policies are the same!");
+                               LOG.warn("Ranger-PolicyVersion:[" + (policies 
!= null ? policies.getPolicyVersion() : -1L) + "], Cached-PolicyVersion:[" + 
(this.policyEngine != null ? this.policyEngine.getPolicyVersion() : -1L) + "]");
                        }
 
                } catch (Exception e) {
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
index 7088e83..f040a66 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerPolicyDeltaUtil.java
@@ -228,9 +228,9 @@ public class RangerPolicyDeltaUtil {
                 LOG.warn("Downloaded ServicePolicies are [" + servicePolicies 
+ "]");
                 ret = null;
             } else if (!isPoliciesExist && !isPolicyDeltasExist) {
-                LOG.warn("ServicePolicies do not contain any policies or 
policy-deltas!! There are no material changes in the policies. There may be 
service changes!");
+                LOG.warn("ServicePolicies do not contain any policies or 
policy-deltas!! There are no material changes in the policies.");
                 LOG.warn("Downloaded ServicePolicies are [" + servicePolicies 
+ "]");
-                ret = false;
+                ret = null;
             } else {
                 ret = isPolicyDeltasExist;
             }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyAdminCache.java
 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyAdminCache.java
index 120a329..a6f0a1a 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyAdminCache.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerPolicyAdminCache.java
@@ -125,7 +125,7 @@ public class RangerPolicyAdminCache {
                                        ret = addPolicyAdmin(policies, roles, 
options);
                                }
                        } else {
-                               LOG.warn("Provided policies are internally 
inconsistent!! [" + policies + "]. Please check code that computes 
policy-deltas! Keeping old policy-engine!");
+                               LOG.warn("Provided policies do not require 
policy change !! [" + policies + "]. Keeping old policy-engine!");
                                ret = null;
                        }
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java 
b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
index 477129d..047228b 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/db/XXPolicyChangeLogDao.java
@@ -150,18 +150,16 @@ public class XXPolicyChangeLogDao extends 
BaseDao<XXPolicyChangeLog> {
                             break;
                         }
                     } else {
-                        LOG.warn("Policy:[" + policyId + "] not found - 
log-record - id:[" + logRecordId + "], PolicyChangeType:[" + policyChangeType + 
"]");
                         if (policyChangeType == 
RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE || policyChangeType == 
RangerPolicyDelta.CHANGE_TYPE_POLICY_UPDATE) {
-                            LOG.warn("Ignoring POLICY_CREATE or POLICY_UPDATE 
type change for policy-id:[" + policyId + "] as it was not found.. probably 
already deleted");
-                            continue;
-                        } else {
-                            // policyChangeType is DELETE
-                            policy = new RangerPolicy();
-                            policy.setId(policyId);
-                            policy.setServiceType(serviceType);
-                            policy.setPolicyType((Integer) 
log[POLICY_CHANGE_LOG_RECORD_POLICY_TYPE_COLUMN_NUMBER]);
-                            policy.setZoneName((String) 
log[POLICY_CHANGE_LOG_RECORD_ZONE_NAME_COLUMN_NUMBER]);
+                            LOG.warn((policyChangeType == 
RangerPolicyDelta.CHANGE_TYPE_POLICY_CREATE ? "POLICY_CREATE" : 
"POLICY_UPDATE") + " type change for policy-id:[" + policyId + "], log-id:[" + 
logRecordId + "] was not found.. probably already deleted");
+                            // Create a placeholder delta with a dummy policy 
as the created/updated policy cannot be found - If there is a subsequent 
POLICY_DELETE, this delta will be cleaned-up in ServiceDBStore.compressDeltas()
                         }
+                        // Create a placeholder delta with a dummy policy
+                        policy = new RangerPolicy();
+                        policy.setId(policyId);
+                        policy.setServiceType(serviceType);
+                        policy.setPolicyType((Integer) 
log[POLICY_CHANGE_LOG_RECORD_POLICY_TYPE_COLUMN_NUMBER]);
+                        policy.setZoneName((String) 
log[POLICY_CHANGE_LOG_RECORD_ZONE_NAME_COLUMN_NUMBER]);
                     }
 
                     ret.add(new RangerPolicyDelta(logRecordId, 
policyChangeType, policiesVersion, policy));

Reply via email to