X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fbehaviors%2FFollower.java;h=2480a0db8f734bc6d1d0801b1b57e92e73769189;hp=2541dfab6edc6215086580d105b28891257abd1b;hb=630cb61cc1e51a486785162995eab7b541fcf237;hpb=296b249e512b1c677ba5dbcb57d9d9404d8f0710 diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java index 2541dfab6e..2480a0db8f 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Follower.java @@ -347,9 +347,16 @@ public class Follower extends AbstractRaftActorBehavior { @Override public RaftActorBehavior handleMessage(ActorRef sender, Object originalMessage) { + if (originalMessage instanceof ElectionTimeout) { + if (canStartElection()) { + LOG.debug("{}: Received ElectionTimeout - switching to Candidate", logName()); + return internalSwitchBehavior(RaftState.Candidate); + } else { + return this; + } + } - Object message = fromSerializableMessage(originalMessage); - + final Object message = fromSerializableMessage(originalMessage); if (message instanceof RaftRPC) { RaftRPC rpc = (RaftRPC) message; // If RPC request or response contains term T > currentTerm: @@ -363,20 +370,12 @@ public class Follower extends AbstractRaftActorBehavior { } } - if (message instanceof ElectionTimeout) { - if(canStartElection()) { - LOG.debug("{}: Received ElectionTimeout - switching to Candidate", logName()); - return internalSwitchBehavior(RaftState.Candidate); - } else { - return this; - } - - } else if (message instanceof InstallSnapshot) { + if (message instanceof InstallSnapshot) { InstallSnapshot installSnapshot = (InstallSnapshot) message; handleInstallSnapshot(sender, installSnapshot); } - if(message instanceof RaftRPC && (!(message instanceof RequestVote) || (canGrantVote((RequestVote) message)))){ + if (message instanceof RaftRPC && (!(message instanceof RequestVote) || (canGrantVote((RequestVote) message)))){ scheduleElection(electionDuration()); }