commit | ad13fc6463b5adae637c80157aa3df1cc26c3a45 | [log] [tgz] |
---|---|---|
author | Abdullah Alamoudi <bamousaa@gmail.com> | Thu Aug 02 11:28:40 2018 -0700 |
committer | abdullah alamoudi <bamousaa@gmail.com> | Thu Aug 02 13:52:55 2018 -0700 |
tree | 1b3a5b2cfc77855c139c9392838f3438114bbdcb | |
parent | 39ee117327aa40df0ccefd00863dd6fe9b4ce299 [diff] |
[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 <mhubail@apache.org> 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>
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 @@ 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; }
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 @@ 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);
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 @@ @Override public void run() { try { + Thread.currentThread() + .setName(Thread.currentThread().getName() + " : WaitForCompletionForJobId: " + jobId); jobRun.waitForCompletion(); callback.setValue(null); } catch (Exception e) {