You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by al...@apache.org on 2016/03/17 21:44:39 UTC

incubator-ranger git commit: RANGER-882 Add a catch all policy engine initialization to ensure that plugin will continue to pull policies periodically

Repository: incubator-ranger
Updated Branches:
  refs/heads/master 3abd4be25 -> 0ecac71fd


RANGER-882 Add a catch all policy engine initialization to ensure that plugin will continue to pull policies periodically


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/0ecac71f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/0ecac71f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/0ecac71f

Branch: refs/heads/master
Commit: 0ecac71fd5fc61642fef9b25fb2e12ea69052187
Parents: 3abd4be
Author: Alok Lal <al...@apache.org>
Authored: Thu Mar 17 12:19:42 2016 -0700
Committer: Alok Lal <al...@apache.org>
Committed: Thu Mar 17 12:36:33 2016 -0700

----------------------------------------------------------------------
 .../ranger/plugin/service/RangerBasePlugin.java     | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/0ecac71f/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
----------------------------------------------------------------------
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 b864e61..be54d36 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
@@ -106,14 +106,20 @@ public class RangerBasePlugin {
 	}
 
 	public void setPolicies(ServicePolicies policies) {
-		RangerPolicyEngine oldPolicyEngine = this.policyEngine;
 
-		RangerPolicyEngine policyEngine = new RangerPolicyEngineImpl(appId, policies, policyEngineOptions);
+		// guard against catastrophic failure during policy engine Initialization or
+		try {
+			RangerPolicyEngine oldPolicyEngine = this.policyEngine;
+
+			RangerPolicyEngine policyEngine = new RangerPolicyEngineImpl(appId, policies, policyEngineOptions);
 
-		this.policyEngine = policyEngine;
+			this.policyEngine = policyEngine;
 
-		if (oldPolicyEngine != null && !oldPolicyEngine.preCleanup()) {
-			LOG.error("preCleanup() failed on the previous policy engine instance !!");
+			if (oldPolicyEngine != null && !oldPolicyEngine.preCleanup()) {
+				LOG.error("preCleanup() failed on the previous policy engine instance !!");
+			}
+		} catch (Exception e) {
+			LOG.error("setPolicies: policy engine initialization failed!  Leaving current policy engine as-is.");
 		}
 	}