Repository: incubator-ranger Updated Branches: refs/heads/master a1977b6af -> 13e6b9586
RANGER-880: good coding practive: inner class to be made static; wait() should be in a loop Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/13e6b958 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/13e6b958 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/13e6b958 Branch: refs/heads/master Commit: 13e6b95864e0c91619cfb106b3d15ce7ff8b6152 Parents: a1977b6 Author: Madhan Neethiraj <[email protected]> Authored: Tue Mar 8 15:29:42 2016 -0800 Committer: Madhan Neethiraj <[email protected]> Committed: Tue Mar 8 15:29:42 2016 -0800 ---------------------------------------------------------------------- .../org/apache/ranger/tagsync/process/TagSynchronizer.java | 8 +++++++- .../ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/13e6b958/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java ---------------------------------------------------------------------- diff --git a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java index 5155681..42d55d1 100644 --- a/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java +++ b/tagsync/src/main/java/org/apache/ranger/tagsync/process/TagSynchronizer.java @@ -37,6 +37,7 @@ public class TagSynchronizer { private Properties properties = null; private final Object shutdownNotifier = new Object(); + private volatile boolean isShutdownInProgress = false; public static void main(String[] args) { @@ -125,6 +126,8 @@ public class TagSynchronizer { LOG.debug("==> TagSynchronizer.run()"); } + isShutdownInProgress = false; + try { boolean threadsStarted = tagSink.start(); @@ -134,7 +137,9 @@ public class TagSynchronizer { if (threadsStarted) { synchronized(shutdownNotifier) { - shutdownNotifier.wait(); + while(! isShutdownInProgress) { + shutdownNotifier.wait(); + } } } } finally { @@ -157,6 +162,7 @@ public class TagSynchronizer { LOG.info("Received shutdown(), reason=" + reason); synchronized(shutdownNotifier) { + isShutdownInProgress = true; shutdownNotifier.notifyAll(); } } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/13e6b958/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java ---------------------------------------------------------------------- diff --git a/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java b/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java index c296b49..a30a399 100644 --- a/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java +++ b/tagsync/src/main/java/org/apache/ranger/tagsync/sink/tagadmin/TagAdminRESTSink.java @@ -223,7 +223,7 @@ public class TagAdminRESTSink implements TagSink, Runnable { } - class UploadWorkItem { + static class UploadWorkItem { private ServiceTags serviceTags; private BlockingQueue<ServiceTags> uploadedServiceTags;
