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%2FIsolatedLeader.java;h=a02e40092b3e314ee83bf0ae10e5a70e7106abea;hp=4f77711a4d5af7dcf57f119f026e6c40e9516531;hb=a0b8be5ce48c0d1e0b573d1952211913c58d4935;hpb=e6d2fd575fa138ec597714ad3056b5dc4761c984 diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java index 4f77711a4d..a02e40092b 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/IsolatedLeader.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.raft.behaviors; import akka.actor.ActorRef; +import javax.annotation.Nullable; import org.opendaylight.controller.cluster.raft.RaftActorContext; import org.opendaylight.controller.cluster.raft.RaftState; import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply; @@ -26,8 +27,12 @@ import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply; * */ public class IsolatedLeader extends AbstractLeader { + IsolatedLeader(RaftActorContext context, @Nullable AbstractLeader initializeFromLeader) { + super(context, RaftState.IsolatedLeader, initializeFromLeader); + } + public IsolatedLeader(RaftActorContext context) { - super(context); + this(context, null); } // we received an Append Entries reply, we should switch the Behavior to Leader @@ -39,14 +44,9 @@ public class IsolatedLeader extends AbstractLeader { // it can happen that this isolated leader interacts with a new leader in the cluster and // changes its state to Follower, hence we only need to switch to Leader if the state is still Isolated if (ret.state() == RaftState.IsolatedLeader && !isLeaderIsolated()) { - LOG.info("IsolatedLeader {} switching from IsolatedLeader to Leader", leaderId); - return switchBehavior(new Leader(context)); + LOG.info("IsolatedLeader {} switching from IsolatedLeader to Leader", getLeaderId()); + return internalSwitchBehavior(new Leader(context, this)); } return ret; } - - @Override - public RaftState state() { - return RaftState.IsolatedLeader; - } }