From: Tom Pantelis Date: Tue, 13 Jun 2017 00:28:06 +0000 (-0400) Subject: Fix intermittent PreLeaderScenarioTest failure X-Git-Tag: release/nitrogen~117 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=70fa33ba59ff22a4ffddf4195e9f4070602a8843;hp=dac16f0d464eff3325b3800a803e81b303964e4b Fix intermittent PreLeaderScenarioTest failure java.lang.AssertionError: AppendEntries - # entries expected:<1> but was:<0> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:743) at org.junit.Assert.assertEquals(Assert.java:118) at org.junit.Assert.assertEquals(Assert.java:555) at org.opendaylight.controller.cluster.raft.PreLeaderScenarioTest.testUnComittedEntryOnLeaderChange(PreLeaderScenarioTest.java:57) AppendEntries appendEntries = expectFirstMatching(follower1CollectorActor, AppendEntries.class); assertEquals("AppendEntries - # entries", 1, appendEntries.getEntries().size()); After the payload is sent to the leader, it expects an AppendEntries sent to follower1 with a single ReplicatedLogEntry. From the test output this did occur correctly but the MessageCollectorActor still had the initial empty AppendEntries sent on leader startup. The test setup waits for the initial AppendEntriesReply's from both followers prior to clearing messages in each MessageCollectorActor however the AppendEntries may not have been delivered to follower1's MessageCollectorActor yet and thus doesn't get cleared. We need to specifically wait for the AppendEntries in follower1's MessageCollectorActor. Change-Id: I638a21e75ea135c1fe24970135f564da4fc5738e Signed-off-by: Tom Pantelis --- diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/PreLeaderScenarioTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/PreLeaderScenarioTest.java index a1ada53da8..e4628d7a0a 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/PreLeaderScenarioTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/PreLeaderScenarioTest.java @@ -159,6 +159,7 @@ public class PreLeaderScenarioTest extends AbstractRaftActorIntegrationTest { waitUntilLeader(leaderActor); expectMatching(leaderCollectorActor, AppendEntriesReply.class, 2); + expectFirstMatching(follower1CollectorActor, AppendEntries.class); clearMessages(leaderCollectorActor); clearMessages(follower1CollectorActor);