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());
-            }
         }
     }