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