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%2Fbehaviors%2FAbstractLeaderElectionScenarioTest.java;fp=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fbehaviors%2FAbstractLeaderElectionScenarioTest.java;h=1d4fde1a448d8dccfc998334c343fc2f00b86d42;hb=b5cb353e3553a39f576c284119af75ffa5ea66a9;hp=8c7c9cb7c4a3ed640d5d04c0a58534a99a819abb;hpb=b712eb01354ddb5878008e2a2e8f03fb19b92555;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java index 8c7c9cb7c4..1d4fde1a44 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderElectionScenarioTest.java @@ -22,12 +22,12 @@ import akka.pattern.Patterns; import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; import akka.util.Timeout; -import com.google.common.base.Throwables; import com.google.common.util.concurrent.Uninterruptibles; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import org.junit.After; import org.junit.Before; import org.opendaylight.controller.cluster.raft.DefaultConfigParamsImpl; @@ -127,22 +127,22 @@ public class AbstractLeaderElectionScenarioTest { Uninterruptibles.awaitUninterruptibly(behaviorStateChangeLatch, 5, TimeUnit.SECONDS)); } - void expectMessageClass(Class expClass, int expCount) { + void expectMessageClass(final Class expClass, final int expCount) { messagesReceivedLatches.put(expClass, new CountDownLatch(expCount)); } - void waitForExpectedMessages(Class expClass) { + void waitForExpectedMessages(final Class expClass) { CountDownLatch latch = messagesReceivedLatches.get(expClass); assertNotNull("No messages received for " + expClass, latch); assertTrue("Missing messages of type " + expClass, Uninterruptibles.awaitUninterruptibly(latch, 5, TimeUnit.SECONDS)); } - void dropMessagesToBehavior(Class msgClass) { + void dropMessagesToBehavior(final Class msgClass) { dropMessagesToBehavior(msgClass, 1); } - void dropMessagesToBehavior(Class msgClass, int expCount) { + void dropMessagesToBehavior(final Class msgClass, final int expCount) { expectMessageClass(msgClass, expCount); dropMessagesToBehavior.put(msgClass, Boolean.TRUE); } @@ -159,19 +159,19 @@ public class AbstractLeaderElectionScenarioTest { super.clear(); } - void forwardCapturedMessageToBehavior(Class msgClass, ActorRef sender) throws Exception { + void forwardCapturedMessageToBehavior(final Class msgClass, final ActorRef sender) { Object message = getFirstMatching(getSelf(), msgClass); assertNotNull("Message of type " + msgClass + " not received", message); getSelf().tell(message, sender); } - void forwardCapturedMessagesToBehavior(Class msgClass, ActorRef sender) throws Exception { + void forwardCapturedMessagesToBehavior(final Class msgClass, final ActorRef sender) { for (Object m: getAllMatching(getSelf(), msgClass)) { getSelf().tell(m, sender); } } - T getCapturedMessage(Class msgClass) throws Exception { + T getCapturedMessage(final Class msgClass) { T message = getFirstMatching(getSelf(), msgClass); assertNotNull("Message of type " + msgClass + " not received", message); return message; @@ -196,7 +196,7 @@ public class AbstractLeaderElectionScenarioTest { RaftActorBehavior behavior; MockRaftActorContext context; - SetBehavior(RaftActorBehavior behavior, MockRaftActorContext context) { + SetBehavior(final RaftActorBehavior behavior, final MockRaftActorContext context) { this.behavior = behavior; this.context = context; } @@ -239,8 +239,8 @@ public class AbstractLeaderElectionScenarioTest { return configParams; } - MockRaftActorContext newRaftActorContext(String id, ActorRef actor, - Map peerAddresses) { + MockRaftActorContext newRaftActorContext(final String id, final ActorRef actor, + final Map peerAddresses) { MockRaftActorContext context = new MockRaftActorContext(id, system, actor); context.setPeerAddresses(peerAddresses); context.getTermInformation().updateAndPersist(1, ""); @@ -248,18 +248,21 @@ public class AbstractLeaderElectionScenarioTest { } @SuppressWarnings("checkstyle:IllegalCatch") - void verifyBehaviorState(String name, MemberActor actor, RaftState expState) { + void verifyBehaviorState(final String name, final MemberActor actor, final RaftState expState) { + RaftState actualState; try { - RaftState actualState = (RaftState) Await.result(Patterns.ask(actor.self(), GetBehaviorState.INSTANCE, - Timeout.apply(5, TimeUnit.SECONDS)), Duration.apply(5, TimeUnit.SECONDS)); - assertEquals(name + " behavior state", expState, actualState); + actualState = (RaftState) Await.result(Patterns.ask(actor.self(), GetBehaviorState.INSTANCE, + Timeout.apply(5, TimeUnit.SECONDS)), Duration.apply(5, TimeUnit.SECONDS)); + } catch (RuntimeException e) { + throw e; } catch (Exception e) { - Throwables.propagate(e); + throw new RuntimeException(e); } + assertEquals(name + " behavior state", expState, actualState); } - void initializeLeaderBehavior(MemberActor actor, MockRaftActorContext context, int numActiveFollowers) - throws Exception { + void initializeLeaderBehavior(final MemberActor actor, final MockRaftActorContext context, + final int numActiveFollowers) { // Leader sends immediate heartbeats - we don't care about it so ignore it. // Sometimes the initial AppendEntries messages go to dead letters, probably b/c the follower actors // haven't been fully created/initialized by akka. So we try up to 3 times to create the Leader as @@ -294,14 +297,14 @@ public class AbstractLeaderElectionScenarioTest { } - TestActorRef newMemberActor(String name) throws Exception { + TestActorRef newMemberActor(final String name) throws TimeoutException, InterruptedException { TestActorRef actor = factory.createTestActor(MemberActor.props() .withDispatcher(Dispatchers.DefaultDispatcherId()), name); MessageCollectorActor.waitUntilReady(actor); return actor; } - void sendHeartbeat(TestActorRef leaderActor) { + void sendHeartbeat(final TestActorRef leaderActor) { Uninterruptibles.sleepUninterruptibly(HEARTBEAT_INTERVAL, TimeUnit.MILLISECONDS); leaderActor.tell(SendImmediateHeartBeat.INSTANCE, ActorRef.noSender()); }