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");