You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by am...@apache.org on 2018/08/07 18:56:26 UTC

asterixdb git commit: [NO ISSUE][ING] Set JobId in thread waiting for job to complete

Repository: asterixdb
Updated Branches:
  refs/heads/master 53f4f6f48 -> 1f821f2b2


[NO ISSUE][ING] Set JobId in thread waiting for job to complete

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- When stopping an active job, set the job Id in the thread to enable
  debugging if the job gets stuck.

Change-Id: Ic19d11f150aa404522133d4d7227c758dbf0de6a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2850
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/1f821f2b
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/1f821f2b
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/1f821f2b

Branch: refs/heads/master
Commit: 1f821f2b25cc529dc55e566f4ca5bf1cafbf0ce9
Parents: 53f4f6f
Author: Abdullah Alamoudi <ba...@gmail.com>
Authored: Mon Aug 6 16:29:04 2018 -0700
Committer: abdullah alamoudi <ba...@gmail.com>
Committed: Tue Aug 7 11:56:02 2018 -0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/asterix/active/ActiveManager.java   | 2 --
 .../apache/asterix/api/http/server/NCQueryServiceServlet.java    | 3 ++-
 .../apache/asterix/app/active/ActiveEntityEventsListener.java    | 4 ++++
 3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f821f2b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveManager.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveManager.java b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveManager.java
index 6373d6c..4adffda 100644
--- a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveManager.java
+++ b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveManager.java
@@ -172,8 +172,6 @@ public class ActiveManager {
             executor.execute(() -> {
                 try {
                     stopIfRunning(runtime, content.getTimeout(), content.getUnit());
-                } catch (Exception e) {
-                    LOGGER.warn("Failed to stop runtime: {}", runtimeId, e);
                 } catch (Throwable th) {
                     LOGGER.warn("Failed to stop runtime: {}", runtimeId, th);
                     ExitUtil.halt(ExitUtil.EC_UNCAUGHT_THROWABLE);

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f821f2b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
index 77b8647..362f924 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java
@@ -45,8 +45,8 @@ import org.apache.asterix.translator.ResultProperties;
 import org.apache.asterix.translator.SessionOutput;
 import org.apache.commons.lang3.tuple.Triple;
 import org.apache.hyracks.api.application.INCServiceContext;
-import org.apache.hyracks.api.result.ResultSetId;
 import org.apache.hyracks.api.job.JobId;
+import org.apache.hyracks.api.result.ResultSetId;
 import org.apache.hyracks.http.api.IChannelClosedHandler;
 import org.apache.hyracks.http.api.IServletRequest;
 import org.apache.hyracks.http.server.HttpServer;
@@ -144,6 +144,7 @@ public class NCQueryServiceServlet extends QueryServiceServlet {
             CancelQueryRequest cancelQueryMessage =
                     new CancelQueryRequest(nodeId, cancelQueryFuture.getFutureId(), clientContextID);
             // TODO(mblow): multicc -- need to send cancellation to the correct cc
+            LOGGER.info("Cancelling query due to {}", exception.getClass().getSimpleName());
             messageBroker.sendMessageToPrimaryCC(cancelQueryMessage);
             if (wait) {
                 cancelQueryFuture.get(ExecuteStatementRequestMessage.DEFAULT_QUERY_CANCELLATION_WAIT_MILLIS,

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/1f821f2b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
index b5432c5..22c9b5d 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
@@ -450,7 +450,9 @@ public abstract class ActiveEntityEventsListener implements IActiveEntityControl
         }
         WaitForStateSubscriber subscriber = new WaitForStateSubscriber(this, waitFor);
         // Note: once we start sending stop messages, we can't go back until the entity is stopped
+        final String nameBefore = Thread.currentThread().getName();
         try {
+            Thread.currentThread().setName(nameBefore + " : WaitForCompletionForJobId: " + jobId);
             sendStopMessages(metadataProvider, timeout, unit);
             LOGGER.log(Level.DEBUG, "Waiting for its state to become " + waitFor);
             subscriber.sync();
@@ -460,6 +462,8 @@ public abstract class ActiveEntityEventsListener implements IActiveEntityControl
             Thread.currentThread().interrupt();
         } catch (Throwable e) {
             forceStop(subscriber, e);
+        } finally {
+            Thread.currentThread().setName(nameBefore);
         }
     }