azkaban-memoizeit

Details

diff --git a/src/java/azkaban/execapp/event/FlowWatcher.java b/src/java/azkaban/execapp/event/FlowWatcher.java
index 4a13a4b..8ca895e 100644
--- a/src/java/azkaban/execapp/event/FlowWatcher.java
+++ b/src/java/azkaban/execapp/event/FlowWatcher.java
@@ -81,6 +81,7 @@ public abstract class FlowWatcher {
 		cancelWatch = true;
 		
 		for(BlockingStatus status : map.values()) {
+			logger.info("Unblocking " + status.getJobId());
 			status.changeStatus(Status.KILLED);
 			status.unblock();
 		}
diff --git a/src/java/azkaban/execapp/FlowRunner.java b/src/java/azkaban/execapp/FlowRunner.java
index 8259d96..5e61178 100644
--- a/src/java/azkaban/execapp/FlowRunner.java
+++ b/src/java/azkaban/execapp/FlowRunner.java
@@ -725,7 +725,10 @@ public class FlowRunner extends EventHandler implements Runnable {
 		public synchronized void handleEvent(Event event) {
 			JobRunner runner = (JobRunner)event.getRunner();
 			
-			if (event.getType() == Type.JOB_FINISHED) {
+			if (event.getType() == Type.JOB_STATUS_CHANGED) {
+				
+			}
+			else if (event.getType() == Type.JOB_FINISHED) {
 				synchronized(mainSyncObj) {
 					ExecutableNode node = runner.getNode();
 					activeJobRunners.remove(node.getJobId());
diff --git a/src/java/azkaban/execapp/JobRunner.java b/src/java/azkaban/execapp/JobRunner.java
index 4e7413b..143a861 100644
--- a/src/java/azkaban/execapp/JobRunner.java
+++ b/src/java/azkaban/execapp/JobRunner.java
@@ -231,6 +231,8 @@ public class JobRunner extends EventHandler implements Runnable {
 							break;
 						}
 					}
+					writeStatus();	
+					fireEvent(Event.create(this, Type.JOB_STATUS_CHANGED));
 				}
 				if (watcher.isWatchCancelled()) {
 					logger.info("Job was cancelled while waiting on pipeline. Quiting.");