X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FRecoveryIntegrationSingleNodeTest.java;h=b3da66c0ff448d045742e2a0da2ced24fb325a19;hb=88a7f904602133bb803752848bb58c9b0a3e9792;hp=657905e8223075cad7b8a43c04de9360d467f2b4;hpb=e1eca73a5ae2ffae8dd78c6fe5281cd2f45d5ef3;p=controller.git 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..b3da66c0ff 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 @@ -12,12 +12,12 @@ import static org.junit.Assert.assertEquals; import akka.actor.ActorRef; import akka.persistence.SaveSnapshotSuccess; import akka.testkit.TestActorRef; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import java.util.List; +import java.util.Map; 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,17 +38,18 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat @Test - public void testJournalReplayAfterSnapshotWithSingleNode() throws Exception { + public void testJournalReplayAfterSnapshotWithSingleNode() { String persistenceId = factory.generateActorId("singleNode"); TestActorRef singleNodeActorRef = - newTestRaftActor(persistenceId, ImmutableMap.builder().build(), leaderConfigParams); + newTestRaftActor(persistenceId, Map.of(), leaderConfigParams); waitUntilLeader(singleNodeActorRef); 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"); @@ -73,8 +74,11 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat assertEquals("Last applied", 5, singleNodeContext.getLastApplied()); - assertEquals("Incorrect State after snapshot success is received ", Lists.newArrayList(payload0, payload1, - payload2, payload3, payload4, payload5), singleNodeActorRef.underlyingActor().getState()); + assertEquals("Incorrect State after snapshot success is received ", + List.of(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()); @@ -82,21 +86,18 @@ public class RecoveryIntegrationSingleNodeTest extends AbstractRaftActorIntegrat List persistedSnapshots = InMemorySnapshotStore.getSnapshots(persistenceId, Snapshot.class); assertEquals(1, persistedSnapshots.size()); - @SuppressWarnings("unchecked") - List snapshottedState = (List)MockRaftActor.toObject(persistedSnapshots.get(0).getState()); - assertEquals("Incorrect Snapshot", Lists.newArrayList(payload0, payload1, payload2, payload3), - snapshottedState); + List snapshottedState = MockRaftActor.fromState(persistedSnapshots.get(0).getState()); + assertEquals("Incorrect Snapshot", List.of(payload0, payload1, payload2, payload3), snapshottedState); //recovery logic starts killActor(singleNodeActorRef); - singleNodeActorRef = newTestRaftActor(persistenceId, - ImmutableMap.builder().build(), leaderConfigParams); + singleNodeActorRef = newTestRaftActor(persistenceId, Map.of(), leaderConfigParams); singleNodeActorRef.underlyingActor().waitForRecoveryComplete(); - assertEquals("Incorrect State after Recovery ", Lists.newArrayList(payload0, payload1, payload2, payload3, - payload4, payload5), singleNodeActorRef.underlyingActor().getState()); - + assertEquals("Incorrect State after Recovery ", + List.of(payload0, payload1, payload2, payload3, payload4, payload5), + singleNodeActorRef.underlyingActor().getState()); } }