From 3199bda28731c9f336d591f258636e7ff8834102 Mon Sep 17 00:00:00 2001 From: Tom Pantelis Date: Thu, 14 May 2015 21:28:14 -0400 Subject: [PATCH] Fix intermittent RaftActorTest failures I've seen the following test failure on jenkins several times: RaftActorTest.testRealSnapshotWhenReplicatedToAllIndexNotInReplicatedLog:838 expected: but was: This is a result of the short-circuiting of the election timeout scheduling when there are no peers so it goes from from Follower -> Candidate -> Leader quickly. The test artificially sets the behavior to Leader but the immediate ElectionTimeout messages may cause it to switch back to Candidate and cause assertion failures before the test completes. This didn't happen before b/c it sets the heartbeat interval really high. To alleviate the failures, I set a peer to elide the short-circuiting. Change-Id: I2c086f214baefb826beb898dfe4b11b659cd1eaa Signed-off-by: Tom Pantelis (cherry picked from commit 2f2dd5376f885a160d3204a407f24e174375a5a5) --- .../opendaylight/controller/cluster/raft/RaftActorTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java index cca9a2508e..45c2e0d0ad 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java @@ -797,7 +797,7 @@ public class RaftActorTest extends AbstractActorTest { DataPersistenceProvider dataPersistenceProvider = new NonPersistentDataProvider(); - Map peerAddresses = new HashMap<>(); + Map peerAddresses = ImmutableMap.builder().put("member1", "address").build(); TestActorRef mockActorRef = factory.createTestActor( MockRaftActor.props(persistenceId, peerAddresses, @@ -844,7 +844,7 @@ public class RaftActorTest extends AbstractActorTest { DataPersistenceProvider dataPersistenceProvider = new NonPersistentDataProvider(); - Map peerAddresses = new HashMap<>(); + Map peerAddresses = ImmutableMap.builder().put("member1", "address").build(); TestActorRef mockActorRef = factory.createTestActor( MockRaftActor.props(persistenceId, peerAddresses, -- 2.36.6