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%2FFollowerLogInformationImpl.java;h=90e128256132437c5f2acd4cb861e0e74a759d44;hp=04b9f163f4b6ad7be0f423e485902f7b3d5ccb79;hb=f78b7f15e24efdb5dd9f91b487bc63dad7517b1c;hpb=5c008222efa5c0af49cf8a52881a6299b1e249dc diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/FollowerLogInformationImpl.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/FollowerLogInformationImpl.java index 04b9f163f4..90e1282561 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/FollowerLogInformationImpl.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/FollowerLogInformationImpl.java @@ -11,7 +11,6 @@ package org.opendaylight.controller.cluster.raft; import com.google.common.base.Stopwatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLongFieldUpdater; -import scala.concurrent.duration.FiniteDuration; public class FollowerLogInformationImpl implements FollowerLogInformation { private static final AtomicLongFieldUpdater NEXT_INDEX_UPDATER = AtomicLongFieldUpdater.newUpdater(FollowerLogInformationImpl.class, "nextIndex"); @@ -21,18 +20,17 @@ public class FollowerLogInformationImpl implements FollowerLogInformation { private final Stopwatch stopwatch = Stopwatch.createUnstarted(); - private final long followerTimeoutMillis; + private final RaftActorContext context; private volatile long nextIndex; private volatile long matchIndex; - public FollowerLogInformationImpl(String id, long nextIndex, - long matchIndex, FiniteDuration followerTimeoutDuration) { + public FollowerLogInformationImpl(String id, long matchIndex, RaftActorContext context) { this.id = id; - this.nextIndex = nextIndex; + this.nextIndex = context.getCommitIndex(); this.matchIndex = matchIndex; - this.followerTimeoutMillis = followerTimeoutDuration.toMillis(); + this.context = context; } @Override @@ -78,7 +76,8 @@ public class FollowerLogInformationImpl implements FollowerLogInformation { @Override public boolean isFollowerActive() { long elapsed = stopwatch.elapsed(TimeUnit.MILLISECONDS); - return (stopwatch.isRunning()) && (elapsed <= followerTimeoutMillis); + return (stopwatch.isRunning()) && + (elapsed <= context.getConfigParams().getElectionTimeOutInterval().toMillis()); } @Override @@ -107,7 +106,8 @@ public class FollowerLogInformationImpl implements FollowerLogInformation { builder.append("FollowerLogInformationImpl [id=").append(id).append(", nextIndex=").append(nextIndex) .append(", matchIndex=").append(matchIndex).append(", stopwatch=") .append(stopwatch.elapsed(TimeUnit.MILLISECONDS)) - .append(", followerTimeoutMillis=").append(followerTimeoutMillis).append("]"); + .append(", followerTimeoutMillis=") + .append(context.getConfigParams().getElectionTimeOutInterval().toMillis()).append("]"); return builder.toString(); }