You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by am...@apache.org on 2018/08/02 20:53:16 UTC

asterixdb git commit: [NO ISSUE] Set JobId in thread name waiting for job completion

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 <mh...@apache.org>
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@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 <ba...@gmail.com>
Authored: Thu Aug 2 11:28:40 2018 -0700
Committer: abdullah alamoudi <ba...@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) {