diff --git a/maestro-engine/src/test/java/com/netflix/maestro/engine/dao/MaestroStepInstanceActionDaoTest.java b/maestro-engine/src/test/java/com/netflix/maestro/engine/dao/MaestroStepInstanceActionDaoTest.java index 4b7f77ed..cd448695 100644 --- a/maestro-engine/src/test/java/com/netflix/maestro/engine/dao/MaestroStepInstanceActionDaoTest.java +++ b/maestro-engine/src/test/java/com/netflix/maestro/engine/dao/MaestroStepInstanceActionDaoTest.java @@ -696,7 +696,9 @@ public void testBypassSignalDependenciesWithBlocking() throws SQLException { Thread.ofVirtual().start(() -> spyDao.bypassStepDependencies(instance, "job1", user, true)); verify(queueSystem, timeout(30000).times(1)).enqueue(any(), any(InstanceActionJobEvent.class)); - verify(queueSystem, times(3)).notify(any()); + // the action runs on a virtual thread, so the third notify can land after the enqueue + // verification above; wait for it instead of racing it + verify(queueSystem, timeout(30000).times(3)).notify(any()); // assert that the action was saved Assert.assertTrue(actionDao.tryGetAction(summary, "job1").isPresent()); Assert.assertEquals(