abdullah alamoudi has submitted this change and it was merged. Change subject: [NO ISSUE][ING] Set JobId in thread waiting for job to complete ......................................................................
[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> --- M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCQueryServiceServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java 3 files changed, 6 insertions(+), 3 deletions(-) Approvals: Anon. E. Moose #1000171: Jenkins: Verified; No violations found; ; Verified Murtadha Hubail: Looks good to me, approved 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); } } -- To view, visit https://asterix-gerrit.ics.uci.edu/2850 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ic19d11f150aa404522133d4d7227c758dbf0de6a Gerrit-PatchSet: 5 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudi <bamou...@gmail.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Michael Blow <mb...@apache.org> Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org> Gerrit-Reviewer: Till Westmann <ti...@apache.org> Gerrit-Reviewer: abdullah alamoudi <bamou...@gmail.com>