X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fbehaviors%2FFollower.java;h=68b444b2bac7d20ae0ab7a307ede546191392938;hb=a22e44963c31452b6ea17745b652456b8b991101;hp=532201b26e8e6b64915c2a187d37b60a397fe2ca;hpb=a449700f10ad3733d64555510d5d6b8012c9deaf;p=controller.git 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 532201b26e..68b444b2ba 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 @@ -214,7 +214,10 @@ public class Follower extends AbstractRaftActorBehavior { return RaftState.Follower; } - @Override public RaftState handleMessage(ActorRef sender, Object message) { + @Override public RaftState handleMessage(ActorRef sender, Object originalMessage) { + + Object message = fromSerializableMessage(originalMessage); + if (message instanceof RaftRPC) { RaftRPC rpc = (RaftRPC) message; // If RPC request or response contains term T > currentTerm: @@ -227,9 +230,10 @@ public class Follower extends AbstractRaftActorBehavior { if (message instanceof ElectionTimeout) { return RaftState.Candidate; + } else if (message instanceof InstallSnapshot) { - InstallSnapshot snapshot = (InstallSnapshot) message; - actor().tell(new ApplySnapshot(snapshot), actor()); + InstallSnapshot installSnapshot = (InstallSnapshot) message; + actor().tell(new ApplySnapshot(installSnapshot.getData()), actor()); } scheduleElection(electionDuration());