You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by th...@apache.org on 2016/09/15 18:37:00 UTC

apex-core git commit: APEXCORE-535 - Node.teardown() should try to gracefully shutdown exectutor service

Repository: apex-core
Updated Branches:
  refs/heads/master bfc1eb874 -> e924284ee


APEXCORE-535 - Node.teardown() should try to gracefully shutdown exectutor service


Project: http://git-wip-us.apache.org/repos/asf/apex-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/apex-core/commit/e924284e
Tree: http://git-wip-us.apache.org/repos/asf/apex-core/tree/e924284e
Diff: http://git-wip-us.apache.org/repos/asf/apex-core/diff/e924284e

Branch: refs/heads/master
Commit: e924284ee026790bf60a0254d4bcdcf822a665ba
Parents: bfc1eb8
Author: Vlad Rozov <v....@datatorrent.com>
Authored: Wed Sep 14 22:06:36 2016 -0700
Committer: Vlad Rozov <v....@datatorrent.com>
Committed: Wed Sep 14 22:06:36 2016 -0700

----------------------------------------------------------------------
 .../main/java/com/datatorrent/stram/engine/Node.java   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/apex-core/blob/e924284e/engine/src/main/java/com/datatorrent/stram/engine/Node.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/engine/Node.java b/engine/src/main/java/com/datatorrent/stram/engine/Node.java
index 0b56bce..4a5cbde 100644
--- a/engine/src/main/java/com/datatorrent/stram/engine/Node.java
+++ b/engine/src/main/java/com/datatorrent/stram/engine/Node.java
@@ -43,6 +43,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -209,7 +210,17 @@ public abstract class Node<OPERATOR extends Operator> implements Component<Opera
     }
 
     if (executorService != null) {
-      executorService.shutdownNow();
+      executorService.shutdown();
+      boolean terminated = false;
+      try {
+        terminated = executorService.awaitTermination(100, TimeUnit.MILLISECONDS);
+      } catch (InterruptedException e) {
+        logger.debug("Wait for graceful executor service {} shutdown interrupted for node {}", executorService, this, e);
+      }
+      if (!terminated) {
+        logger.warn("Shutting down executor service {} for node {}", executorService, this);
+        executorService.shutdownNow();
+      }
     }
     operator.teardown();
   }