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%2FLeader.java;h=36e9b646e66f069504e8d220ceafb80bdc0a1b6a;hb=b8c6400766f7324dd57d059bd48e435569fe1a27;hp=b941cfcc9f5b93374c763a9eeaf207998120dedb;hpb=1b7014bab4524e9915daa682b89f850cbead3c6c;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java index b941cfcc9f..36e9b646e6 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/Leader.java @@ -52,27 +52,28 @@ public class Leader extends AbstractLeader { @VisibleForTesting static final Object ISOLATED_LEADER_CHECK = new Object(); - private final Stopwatch isolatedLeaderCheck; + private final Stopwatch isolatedLeaderCheck = Stopwatch.createStarted(); private @Nullable LeadershipTransferContext leadershipTransferContext; public Leader(RaftActorContext context) { - super(context); - isolatedLeaderCheck = Stopwatch.createStarted(); + super(context, RaftState.Leader); } - @Override public RaftActorBehavior handleMessage(ActorRef sender, Object originalMessage) { + @Override + public RaftActorBehavior handleMessage(ActorRef sender, Object originalMessage) { Preconditions.checkNotNull(sender, "sender should not be null"); if (ISOLATED_LEADER_CHECK.equals(originalMessage)) { if (isLeaderIsolated()) { LOG.warn("{}: At least {} followers need to be active, Switching {} from Leader to IsolatedLeader", - context.getId(), getMinIsolatedLeaderPeerCount(), leaderId); - + context.getId(), getMinIsolatedLeaderPeerCount(), getLeaderId()); return internalSwitchBehavior(RaftState.IsolatedLeader); + } else { + return this; } + } else { + return super.handleMessage(sender, originalMessage); } - - return super.handleMessage(sender, originalMessage); } @Override @@ -158,7 +159,7 @@ public class Leader extends AbstractLeader { } @Override - public void close() throws Exception { + public void close() { if(leadershipTransferContext != null) { leadershipTransferContext.transferCohort.abortTransfer(); }