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 <jenk...@fulliautomatix.ics.uci.edu> Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Contrib: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Murtadha Hubail <mhub...@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 <bamou...@gmail.com> Authored: Mon Aug 6 16:29:04 2018 -0700 Committer: abdullah alamoudi <bamou...@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); } }