azkaban-aplcache

Details

diff --git a/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunner.java b/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunner.java
index fc5fa4b..304af6b 100644
--- a/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunner.java
+++ b/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunner.java
@@ -1059,12 +1059,12 @@ public class FlowRunner extends EventHandler implements Runnable {
 
     @Override
     public synchronized void handleEvent(Event event) {
-      JobRunner runner = (JobRunner) event.getRunner();
 
       if (event.getType() == Type.JOB_STATUS_CHANGED) {
         updateFlow();
       }
       else if (event.getType() == Type.JOB_FINISHED) {
+        JobRunner runner = (JobRunner) event.getRunner();
         ExecutableNode node = runner.getNode();
         EventData eventData = event.getData();
         long seconds = (node.getEndTime() - node.getStartTime()) / 1000;
diff --git a/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java b/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
index 19c0996..cd074ca 100644
--- a/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
+++ b/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
@@ -636,18 +636,20 @@ public class FlowRunnerManager implements EventListener,
 
   @Override
   public void handleEvent(Event event) {
-    FlowRunner flowRunner = (FlowRunner) event.getRunner();
-    ExecutableFlow flow = flowRunner.getExecutableFlow();
-
-    if (event.getType() == Event.Type.FLOW_FINISHED) {
-      recentlyFinishedFlows.put(flow.getExecutionId(), flow);
-      logger.info("Flow " + flow.getExecutionId()
-          + " is finished. Adding it to recently finished flows list.");
-      runningFlows.remove(flow.getExecutionId());
-    }
-    else if (event.getType() == Event.Type.FLOW_STARTED) {
-      // add flow level checker
-      triggerManager.addTrigger(flow.getExecutionId(), SlaOption.getFlowLevelSLAOptions(flow));
+    if (event.getType() == Event.Type.FLOW_FINISHED || event.getType() == Event.Type.FLOW_STARTED) {
+      FlowRunner flowRunner = (FlowRunner) event.getRunner();
+      ExecutableFlow flow = flowRunner.getExecutableFlow();
+
+      if (event.getType() == Event.Type.FLOW_FINISHED) {
+        recentlyFinishedFlows.put(flow.getExecutionId(), flow);
+        logger.info("Flow " + flow.getExecutionId()
+            + " is finished. Adding it to recently finished flows list.");
+        runningFlows.remove(flow.getExecutionId());
+      }
+      else if (event.getType() == Event.Type.FLOW_STARTED) {
+        // add flow level SLA checker
+        triggerManager.addTrigger(flow.getExecutionId(), SlaOption.getFlowLevelSLAOptions(flow));
+      }
     }
   }