diff --git a/core/src/test/java/org/elasticsearch/cluster/service/ClusterServiceTests.java b/core/src/test/java/org/elasticsearch/cluster/service/ClusterServiceTests.java index 026d3a16185..a5d4790f742 100644 --- a/core/src/test/java/org/elasticsearch/cluster/service/ClusterServiceTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/service/ClusterServiceTests.java @@ -150,6 +150,7 @@ public class ClusterServiceTests extends ESTestCase { public void testTimedOutUpdateTaskCleanedUp() throws Exception { final CountDownLatch block = new CountDownLatch(1); + final CountDownLatch blockCompleted = new CountDownLatch(1); clusterService.submitStateUpdateTask("block-task", new ClusterStateUpdateTask() { @Override public ClusterState execute(ClusterState currentState) { @@ -158,6 +159,7 @@ public class ClusterServiceTests extends ESTestCase { } catch (InterruptedException e) { throw new RuntimeException(e); } + blockCompleted.countDown(); return currentState; } @@ -187,6 +189,7 @@ public class ClusterServiceTests extends ESTestCase { }); block.countDown(); block2.await(); + blockCompleted.await(); synchronized (clusterService.updateTasksPerExecutor) { assertTrue("expected empty map but was " + clusterService.updateTasksPerExecutor, clusterService.updateTasksPerExecutor.isEmpty());