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 <[email protected]>
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;