abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/582

Change subject: Fix Error in Aborting Task in Super Activity
......................................................................

Fix Error in Aborting Task in Super Activity

When aborting a task, its thread gets interrupted. This creates
a problem when interrupting

Change-Id: I603d3c101e0a4de4816eb5a6a7fd4320df317ce4
---
M 
hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
M 
hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
2 files changed, 11 insertions(+), 3 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/hyracks refs/changes/82/582/1

diff --git 
a/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
 
b/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
index 4e842bb..544c788 100644
--- 
a/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
+++ 
b/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/rewriter/runtime/SuperActivityOperatorNodePushable.java
@@ -207,13 +207,21 @@
             }));
         }
 
+        HyracksDataException hde = null;
         // Waits until all parallel actions to finish.
         for (Future<Void> initializationTask : initializationTasks) {
             try {
                 initializationTask.get();
-            } catch (Exception e) {
-                throw new HyracksDataException(e);
+            } catch (Throwable th) {
+                hde = new HyracksDataException(th);
+                break;
             }
         }
+        if (hde != null) {
+            for (Future<Void> initializationTask : initializationTasks) {
+                initializationTask.cancel(true);
+            }
+            throw hde;
+        }
     }
 }
diff --git 
a/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
 
b/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
index 12df264..61baf82 100644
--- 
a/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
+++ 
b/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
@@ -255,8 +255,8 @@
         addPendingThread(ct);
         try {
             ct.setName(displayName + ":" + taskAttemptId + ":" + 0);
-            operator.initialize();
             try {
+                operator.initialize();
                 if (collectors.length > 0) {
                     final Semaphore sem = new Semaphore(collectors.length - 1);
                     for (int i = 1; i < collectors.length; ++i) {

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/582
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I603d3c101e0a4de4816eb5a6a7fd4320df317ce4
Gerrit-PatchSet: 1
Gerrit-Project: hyracks
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi <[email protected]>

Reply via email to