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