[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 <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
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 @@
             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);
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.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 @@
             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,
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 @@
         }
         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 @@
             Thread.currentThread().interrupt();
         } catch (Throwable e) {
             forceStop(subscriber, e);
+        } finally {
+            Thread.currentThread().setName(nameBefore);
         }
     }