private static final Logger LOG = LoggerFactory.getLogger(RaftActorLeadershipTransferCohort.class);
private final RaftActor raftActor;
- private final ActorRef replyTo;
private Cancellable newLeaderTimer;
private final List<OnComplete> onCompleteCallbacks = new ArrayList<>();
private long newLeaderTimeoutInMillis = 2000;
private final Stopwatch transferTimer = Stopwatch.createUnstarted();
private boolean isTransferring;
- RaftActorLeadershipTransferCohort(RaftActor raftActor, ActorRef replyTo) {
+ RaftActorLeadershipTransferCohort(RaftActor raftActor) {
this.raftActor = raftActor;
- this.replyTo = replyTo;
}
void init() {
// safely run on the actor's thread dispatcher.
FiniteDuration timeout = FiniteDuration.create(newLeaderTimeoutInMillis, TimeUnit.MILLISECONDS);
newLeaderTimer = raftActor.getContext().system().scheduler().scheduleOnce(timeout, raftActor.self(),
- new Runnable() {
- @Override
- public void run() {
- LOG.debug("{}: leader not elected in time", raftActor.persistenceId());
- finish(true);
- }
+ (Runnable) () -> {
+ LOG.debug("{}: leader not elected in time", raftActor.persistenceId());
+ finish(true);
}, raftActor.getContext().system().dispatcher(), raftActor.self());
}
transferTimer.stop();
if(success) {
LOG.info("{}: Successfully transferred leadership to {} in {}", raftActor.persistenceId(),
- raftActor.getLeaderId(), transferTimer.toString());
+ raftActor.getLeaderId(), transferTimer);
} else {
- LOG.warn("{}: Failed to transfer leadership in {}", raftActor.persistenceId(),
- transferTimer.toString());
+ LOG.warn("{}: Failed to transfer leadership in {}", raftActor.persistenceId(), transferTimer);
}
}
for(OnComplete onComplete: onCompleteCallbacks) {
if(success) {
- onComplete.onSuccess(raftActor.self(), replyTo);
+ onComplete.onSuccess(raftActor.self());
} else {
- onComplete.onFailure(raftActor.self(), replyTo);
+ onComplete.onFailure(raftActor.self());
}
}
}
}
interface OnComplete {
- void onSuccess(ActorRef raftActorRef, ActorRef replyTo);
- void onFailure(ActorRef raftActorRef, ActorRef replyTo);
+ void onSuccess(ActorRef raftActorRef);
+ void onFailure(ActorRef raftActorRef);
}
}