azkaban-aplcache

Fix flaky FlowRunnerTest2 > testNormalFailure2 (#1440) -

9/11/2017 9:41:53 PM

Details

diff --git a/azkaban-common/src/test/java/azkaban/executor/InteractiveTestJob.java b/azkaban-common/src/test/java/azkaban/executor/InteractiveTestJob.java
index ed17c61..d2daa38 100644
--- a/azkaban-common/src/test/java/azkaban/executor/InteractiveTestJob.java
+++ b/azkaban-common/src/test/java/azkaban/executor/InteractiveTestJob.java
@@ -32,8 +32,8 @@ public class InteractiveTestJob extends AbstractProcessJob {
       new ConcurrentHashMap<>();
   private static volatile boolean quickSuccess = false;
   private Props generatedProperties = new Props();
-  private boolean isWaiting = true;
-  private boolean succeed = true;
+  private volatile boolean isWaiting = true;
+  private volatile boolean succeed = true;
 
   public InteractiveTestJob(final String jobId, final Props sysProps, final Props jobProps,
       final Logger log) {
diff --git a/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTest2.java b/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTest2.java
index 8c1126b..30ea40e 100644
--- a/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTest2.java
+++ b/azkaban-exec-server/src/test/java/azkaban/execapp/FlowRunnerTest2.java
@@ -392,6 +392,7 @@ public class FlowRunnerTest2 extends FlowRunnerTestBase {
 
     InteractiveTestJob.getTestJob("joba1").failJob();
     assertStatus("joba1", Status.FAILED);
+    assertFlowStatus(Status.FAILED_FINISHING);
 
     // 3. joba completes, everything is killed
     InteractiveTestJob.getTestJob("jobb:innerJobA").succeedJob();