Further Guava Optional cleanups
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / test / java / org / opendaylight / controller / cluster / raft / RecoveryIntegrationSingleNodeTest.java
index 2a3a6c1a7a25ce2b45f3b0051b82993b16c8a5a9..7004ca88787707c7b094d4c1e520db9fed5076bb 100644 (file)
@@ -39,7 +39,7 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat
 
 
     @Test
-    public void testJournalReplayAfterSnapshotWithSingleNode() throws Exception {
+    public void testJournalReplayAfterSnapshotWithSingleNode() {
 
         String persistenceId = factory.generateActorId("singleNode");
         TestActorRef<AbstractRaftActorIntegrationTest.TestRaftActor> singleNodeActorRef =
@@ -50,6 +50,7 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat
         ActorRef singleNodeCollectorActor = singleNodeActorRef.underlyingActor().collectorActor();
         final RaftActorContext singleNodeContext = singleNodeActorRef.underlyingActor().getRaftActorContext();
 
+        InMemoryJournal.addWriteMessagesCompleteLatch(persistenceId, 6, ApplyJournalEntries.class);
 
         final MockRaftActorContext.MockPayload payload0 = sendPayloadData(singleNodeActorRef, "zero");
         final MockRaftActorContext.MockPayload payload1 = sendPayloadData(singleNodeActorRef, "one");
@@ -77,6 +78,8 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat
         assertEquals("Incorrect State after snapshot success is received ", Lists.newArrayList(payload0, payload1,
                 payload2, payload3, payload4, payload5), singleNodeActorRef.underlyingActor().getState());
 
+        InMemoryJournal.waitForWriteMessagesComplete(persistenceId);
+
         // we get 2 log entries (4 and 5 indexes) and 3 ApplyJournalEntries (for 3, 4, and 5 indexes)
         assertEquals(5, InMemoryJournal.get(persistenceId).size());