You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sn...@apache.org on 2014/12/10 00:42:32 UTC

[7/7] incubator-ranger git commit: ARGUS-186: Updated usersync service for better handling of failures in sending users/groups to policy admin.

ARGUS-186: Updated usersync service for better handling of failures in
sending users/groups to policy admin.


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

Branch: refs/heads/ranger-0.4
Commit: e88740f5f8f3615bc115e9c17bc35a1a269bf7e9
Parents: b041642
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Tue Nov 18 13:54:18 2014 -0800
Committer: sneethiraj <sn...@apache.org>
Committed: Sun Dec 7 01:18:12 2014 -0500

----------------------------------------------------------------------
 .../com/xasecure/usergroupsync/UserGroupSync.java    | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/e88740f5/ugsync/src/main/java/com/xasecure/usergroupsync/UserGroupSync.java
----------------------------------------------------------------------
diff --git a/ugsync/src/main/java/com/xasecure/usergroupsync/UserGroupSync.java b/ugsync/src/main/java/com/xasecure/usergroupsync/UserGroupSync.java
index 6456a96..81643da 100644
--- a/ugsync/src/main/java/com/xasecure/usergroupsync/UserGroupSync.java
+++ b/ugsync/src/main/java/com/xasecure/usergroupsync/UserGroupSync.java
@@ -19,13 +19,10 @@
 
  package com.xasecure.usergroupsync;
 
-import java.util.List;
 
 import org.apache.log4j.Logger;
 
 import com.xasecure.unixusersync.config.UserGroupSyncConfig;
-import com.xasecure.unixusersync.process.PolicyMgrUserGroupBuilder;
-import com.xasecure.unixusersync.process.UnixUserGroupBuilder;
 
 public class UserGroupSync implements Runnable {
 	
@@ -77,6 +74,8 @@ public class UserGroupSync implements Runnable {
 				}
 			}
 
+			boolean forceSync = false;
+
 			while (! shutdownFlag ) {
 				try {
 					Thread.sleep(sleepTimeBetweenCycleInMillis);
@@ -85,12 +84,14 @@ public class UserGroupSync implements Runnable {
 				}
 
 				try {
-					syncUserGroup() ;
+					syncUserGroup(forceSync) ;
+
+					forceSync = false;
 				}
 				catch(Throwable t) {
 					LOG.error("Failed to synchronize UserGroup information. Error details: ", t) ;
 
-					System.exit(1);
+					forceSync = true;  // force sync to the destination in the next attempt
 				}
 			}
 		
@@ -103,11 +104,11 @@ public class UserGroupSync implements Runnable {
 		}
 	}
 	
-	private void syncUserGroup() throws Throwable {
+	private void syncUserGroup(boolean forceSync) throws Throwable {
 		UserGroupSyncConfig config = UserGroupSyncConfig.getInstance() ;
 
 		if (config.isUserSyncEnabled()) {
-			if (ugSource.isChanged()) {
+			if (forceSync || ugSource.isChanged()) {
 				LOG.info("Begin: update user/group from source==>sink");
 				ugSource.updateSink(ugSink);
 				LOG.info("End: update user/group from source==>sink");