X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FRecoveryIntegrationSingleNodeTest.java;h=7004ca88787707c7b094d4c1e520db9fed5076bb;hp=657905e8223075cad7b8a43c04de9360d467f2b4;hb=12fcdfe39aa26dcba7fd3bb4d4c68e3d02e65c51;hpb=e1eca73a5ae2ffae8dd78c6fe5281cd2f45d5ef3 diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationSingleNodeTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationSingleNodeTest.java index 657905e822..7004ca8878 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationSingleNodeTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RecoveryIntegrationSingleNodeTest.java @@ -18,6 +18,7 @@ import java.util.List; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.cluster.raft.persisted.ApplyJournalEntries; +import org.opendaylight.controller.cluster.raft.persisted.Snapshot; import org.opendaylight.controller.cluster.raft.utils.InMemoryJournal; import org.opendaylight.controller.cluster.raft.utils.InMemorySnapshotStore; import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor; @@ -38,7 +39,7 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat @Test - public void testJournalReplayAfterSnapshotWithSingleNode() throws Exception { + public void testJournalReplayAfterSnapshotWithSingleNode() { String persistenceId = factory.generateActorId("singleNode"); TestActorRef singleNodeActorRef = @@ -49,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"); @@ -76,14 +78,15 @@ 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()); List persistedSnapshots = InMemorySnapshotStore.getSnapshots(persistenceId, Snapshot.class); assertEquals(1, persistedSnapshots.size()); - @SuppressWarnings("unchecked") - List snapshottedState = (List)MockRaftActor.toObject(persistedSnapshots.get(0).getState()); + List snapshottedState = MockRaftActor.fromState(persistedSnapshots.get(0).getState()); assertEquals("Incorrect Snapshot", Lists.newArrayList(payload0, payload1, payload2, payload3), snapshottedState);