Moved stagelet abort to happen before waiting for completion
git-svn-id: https://hyracks.googlecode.com/svn/trunk@585 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java b/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java
index 239fee1..6a91730 100644
--- a/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java
+++ b/hyracks/hyracks-control-nc/src/main/java/edu/uci/ics/hyracks/control/nc/NodeControllerService.java
@@ -583,6 +583,11 @@
Joblet ji = jobletMap.get(jobId);
if (ji != null) {
if (ji.getAttempt() == attempt) {
+ for (Stagelet stagelet : ji.getStageletMap().values()) {
+ stagelet.abort();
+ stagelet.close();
+ connectionManager.abortConnections(jobId, stagelet.getStageId());
+ }
Joblet joblet = jobletMap.remove(jobId);
joblet.waitForPendingOperators();
IJobletEventListener listener = joblet.getJobletEventListener();
@@ -590,11 +595,6 @@
listener.jobletFinish(false);
}
}
- for (Stagelet stagelet : ji.getStageletMap().values()) {
- stagelet.abort();
- stagelet.close();
- connectionManager.abortConnections(jobId, stagelet.getStageId());
- }
}
}