You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ab...@apache.org on 2020/06/18 21:09:12 UTC
[ranger] branch master updated: RANGER-2839: Assorted improvements
for debugging and handling of thread terminations, clean-up of unused data,
etc. - Part 3
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 d6c53d9 RANGER-2839: Assorted improvements for debugging and handling of thread terminations, clean-up of unused data, etc. - Part 3
d6c53d9 is described below
commit d6c53d9cdef75c00c28cea487c70b3fceb63e672
Author: Abhay Kulkarni <ab...@apache.org>
AuthorDate: Thu Jun 18 14:08:50 2020 -0700
RANGER-2839: Assorted improvements for debugging and handling of thread terminations, clean-up of unused data, etc. - Part 3
---
.../ranger/plugin/policyengine/RangerResourceTrie.java | 8 +++++---
.../apache/ranger/plugin/service/RangerBasePlugin.java | 16 +++++++++-------
.../apache/ranger/common/RangerServicePoliciesCache.java | 2 +-
3 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
index 95af89d..104b38d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerResourceTrie.java
@@ -920,9 +920,11 @@ public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> {
boolean removeWildcardEvaluator(U evaluator) {
if (CollectionUtils.isNotEmpty(wildcardEvaluators) && wildcardEvaluators.contains(evaluator)) {
undoSetup();
- wildcardEvaluators.remove(evaluator);
- if (CollectionUtils.isEmpty(wildcardEvaluators)) {
- wildcardEvaluators = null;
+ if (CollectionUtils.isNotEmpty(wildcardEvaluators)) {
+ wildcardEvaluators.remove(evaluator);
+ if (CollectionUtils.isEmpty(wildcardEvaluators)) {
+ wildcardEvaluators = null;
+ }
}
return true;
} else {
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 d5e5c79..d860f3c 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
@@ -191,21 +191,22 @@ public class RangerBasePlugin {
try {
RangerPolicyEngine oldPolicyEngine = this.policyEngine;
ServicePolicies servicePolicies = null;
- boolean isValid = true;
+ boolean isNewEngineNeeded = true;
boolean usePolicyDeltas = false;
if (policies == null) {
policies = getDefaultSvcPolicies();
if (policies == null) {
- LOG.error("Could not get default Service Policies");
- isValid = false;
+ LOG.error("Could not get default Service Policies. Keeping old policy-engine!");
+ isNewEngineNeeded = false;
}
} else {
Boolean hasPolicyDeltas = RangerPolicyDeltaUtil.hasPolicyDeltas(policies);
if (hasPolicyDeltas == null) {
- LOG.warn("Policies and policy-deltas are empty. Creating policy engine with no policies!!");
+ LOG.warn("Policies and policy-deltas are empty!! Keeping old policy-engine!");
+ isNewEngineNeeded = false;
} else {
if (hasPolicyDeltas.equals(Boolean.TRUE)) {
// Rebuild policies from deltas
@@ -217,7 +218,8 @@ public class RangerBasePlugin {
usePolicyDeltas = true;
} else {
LOG.error("Could not apply deltas=" + Arrays.toString(policies.getPolicyDeltas().toArray()));
- isValid = false;
+ LOG.warn("Keeping old policy-engine!");
+ isNewEngineNeeded = false;
}
} else {
usePolicyDeltas = false;
@@ -225,7 +227,7 @@ public class RangerBasePlugin {
}
}
- if (isValid) {
+ if (isNewEngineNeeded) {
RangerPolicyEngine newPolicyEngine = null;
boolean isPolicyEngineShared = false;
@@ -293,7 +295,7 @@ public class RangerBasePlugin {
}
} else {
- LOG.error("Returning without saving policies to cache. Leaving current policy engine as-is");
+ LOG.warn("Returning without saving policies to cache. Leaving current policy engine as-is");
}
} catch (Exception e) {
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
index 23c40b5..a09a352 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
@@ -220,7 +220,7 @@ public class RangerServicePoliciesCache {
}
ret = servicePoliciesForDeltas;
} else {
- LOG.warn("Deltas were requested, but could not get them!! lastKnownVersion:[" + lastKnownVersion + "]; Returning cached ServicePolicies:[" + (servicePolicies != null ? servicePolicies.getPolicyVersion() : -1L) + "]");
+ LOG.warn("Deltas were requested for service:[" + serviceName + "], but could not get them!! lastKnownVersion:[" + lastKnownVersion + "]; Returning cached ServicePolicies:[" + (servicePolicies != null ? servicePolicies.getPolicyVersion() : -1L) + "]");
this.deltaCache = null;
ret = this.servicePolicies;