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]>