azkaban-aplcache

Details

diff --git a/azkaban-common/src/main/java/azkaban/executor/ExecutableNode.java b/azkaban-common/src/main/java/azkaban/executor/ExecutableNode.java
index b143f84..6887373 100644
--- a/azkaban-common/src/main/java/azkaban/executor/ExecutableNode.java
+++ b/azkaban-common/src/main/java/azkaban/executor/ExecutableNode.java
@@ -478,7 +478,8 @@ public class ExecutableNode {
   }
 
   public ConditionOnJobStatus getConditionOnJobStatus() {
-    return this.conditionOnJobStatus;
+    return this.conditionOnJobStatus == null ? ConditionOnJobStatus.ALL_SUCCESS
+        : this.conditionOnJobStatus;
   }
 
   public void setConditionOnJobStatus(final ConditionOnJobStatus conditionOnJobStatus) {
diff --git a/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerConditionalFlowTest.java b/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerConditionalFlowTest.java
index 196a7fe..3836072 100644
--- a/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerConditionalFlowTest.java
+++ b/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerConditionalFlowTest.java
@@ -134,6 +134,19 @@ public class FlowRunnerConditionalFlowTest extends FlowRunnerTestBase {
     assertFlowStatus(flow, Status.SUCCEEDED);
   }
 
+  @Test
+  public void runFlowOnJobStatusConditionNull() throws Exception {
+    final HashMap<String, String> flowProps = new HashMap<>();
+    setUp(CONDITIONAL_FLOW_3, flowProps);
+    final ExecutableFlow flow = this.runner.getExecutableFlow();
+    flow.getExecutableNode("jobC").setConditionOnJobStatus(null);
+    InteractiveTestJob.getTestJob("jobA").failJob();
+    assertStatus(flow, "jobA", Status.FAILED);
+    assertStatus(flow, "jobB", Status.SUCCEEDED);
+    assertStatus(flow, "jobC", Status.CANCELLED);
+    assertFlowStatus(flow, Status.FAILED);
+  }
+
   private void setUp(final String flowName, final HashMap<String, String> flowProps)
       throws Exception {
     final String flowYamlFile = flowName + ".flow";
diff --git a/test/execution-test-data/conditionalflowyamltest/conditional_flow3.flow b/test/execution-test-data/conditionalflowyamltest/conditional_flow3.flow
index d619bac..219c53d 100644
--- a/test/execution-test-data/conditionalflowyamltest/conditional_flow3.flow
+++ b/test/execution-test-data/conditionalflowyamltest/conditional_flow3.flow
@@ -22,4 +22,5 @@ nodes:
   - name: jobB
     type: test
     config:
+      fail: false
       seconds: 2