Repository: asterixdb Updated Branches: refs/heads/master 39ee11732 -> ad13fc646
[NO ISSUE] Set JobId in thread name waiting for job completion - user model changes: no - storage format changes: no - interface changes: no Details: - To allow correlation between running tasks and requests waiting for job completion, we set the job id in the request thread and we also add it to the name of the parallel threads in Super Activity Operator Node Pushable. Change-Id: I003432da0109c253e976f130e91f1f1f5ff628f3 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2837 Reviewed-by: Murtadha Hubail <mhub...@apache.org> 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> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/ad13fc64 Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/ad13fc64 Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/ad13fc64 Branch: refs/heads/master Commit: ad13fc6463b5adae637c80157aa3df1cc26c3a45 Parents: 39ee117 Author: Abdullah Alamoudi <bamou...@gmail.com> Authored: Thu Aug 2 11:28:40 2018 -0700 Committer: abdullah alamoudi <bamou...@gmail.com> Committed: Thu Aug 2 13:52:55 2018 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/asterix/common/utils/JobUtils.java | 8 +++++++- .../rewriter/runtime/SuperActivityOperatorNodePushable.java | 4 ++++ .../hyracks/control/cc/work/WaitForJobCompletionWork.java | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ad13fc64/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/JobUtils.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/JobUtils.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/JobUtils.java index cacbfbc..232c8dd 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/JobUtils.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/JobUtils.java @@ -43,7 +43,13 @@ public class JobUtils { spec.setMaxReattempts(0); final JobId jobId = hcc.startJob(spec, jobFlags); if (waitForCompletion) { - hcc.waitForCompletion(jobId); + String nameBefore = Thread.currentThread().getName(); + try { + Thread.currentThread().setName(nameBefore + " : WaitForCompletionForJobId: " + jobId); + hcc.waitForCompletion(jobId); + } finally { + Thread.currentThread().setName(nameBefore); + } } return jobId; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ad13fc64/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java index d499554..46a1dec 100644 --- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java +++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java @@ -205,6 +205,10 @@ public class SuperActivityOperatorNodePushable implements IOperatorNodePushable tasks.add(ctx.getExecutorService().submit(() -> { startSemaphore.release(); try { + Thread.currentThread() + .setName(Thread.currentThread().getName() + ":" + ctx.getJobletContext().getJobId() + + ":" + ctx.getTaskAttemptId() + ":" + + SuperActivityOperatorNodePushable.class.getSimpleName()); action.run(op); } catch (Throwable th) { // NOSONAR: Must catch all causes of failure failures.offer(th); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ad13fc64/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/WaitForJobCompletionWork.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/WaitForJobCompletionWork.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/WaitForJobCompletionWork.java index 53998aa..911bedf 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/WaitForJobCompletionWork.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/work/WaitForJobCompletionWork.java @@ -50,6 +50,8 @@ public class WaitForJobCompletionWork extends SynchronizableWork { @Override public void run() { try { + Thread.currentThread() + .setName(Thread.currentThread().getName() + " : WaitForCompletionForJobId: " + jobId); jobRun.waitForCompletion(); callback.setValue(null); } catch (Exception e) {