Bug 8606: Continue leadership transfer on pauseLeader timeout
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / RaftActorLeadershipTransferCohort.java
index 9ee4c732c90874746c12d547cef3f41508457edd..0a22abb9657ff5813ce27a34736e78e5b7e3bc3a 100644 (file)
@@ -78,7 +78,7 @@ public class RaftActorLeadershipTransferCohort {
         final long electionTimeout = raftActor.getRaftActorContext().getConfigParams()
                 .getElectionTimeOutInterval().toMillis();
         final int variance = raftActor.getRaftActorContext().getConfigParams().getElectionTimeVariance();
-        newLeaderTimeoutInMillis = electionTimeout + variance * 2;
+        newLeaderTimeoutInMillis = 2 * (electionTimeout + variance);
     }
 
     void init() {
@@ -103,13 +103,14 @@ public class RaftActorLeadershipTransferCohort {
         raftActor.pauseLeader(new TimedRunnable(context.getConfigParams().getElectionTimeOutInterval(), raftActor) {
             @Override
             protected void doRun() {
+                LOG.debug("{}: pauseLeader successfully completed - doing transfer", raftActor.persistenceId());
                 doTransfer();
             }
 
             @Override
             protected void doCancel() {
-                LOG.debug("{}: pauseLeader timed out - aborting transfer", raftActor.persistenceId());
-                abortTransfer();
+                LOG.debug("{}: pauseLeader timed out - continuing with transfer", raftActor.persistenceId());
+                doTransfer();
             }
         });
     }