*/
package org.opendaylight.controller.cluster.raft;
+import static java.util.Objects.requireNonNull;
+
import akka.actor.ActorRef;
import akka.actor.ActorSelection;
import akka.actor.Cancellable;
-import com.google.common.base.Preconditions;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Map;
import java.util.Queue;
import java.util.UUID;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.controller.cluster.raft.base.messages.ApplyState;
import org.opendaylight.controller.cluster.raft.base.messages.SnapshotComplete;
import org.opendaylight.controller.cluster.raft.base.messages.TimeoutNow;
}
protected void operationComplete(final ServerOperationContext<?> operationContext,
- @Nullable final ServerChangeStatus replyStatus) {
+ final @Nullable ServerChangeStatus replyStatus) {
if (replyStatus != null) {
sendReply(operationContext, replyStatus);
}
InstallingSnapshot(final AddServerContext addServerContext, final Cancellable installSnapshotTimer) {
super(addServerContext);
- this.installSnapshotTimer = Preconditions.checkNotNull(installSnapshotTimer);
+ this.installSnapshotTimer = requireNonNull(installSnapshotTimer);
}
@Override
WaitingForPriorSnapshotComplete(final AddServerContext addServerContext, final Cancellable snapshotTimer) {
super(addServerContext);
- this.snapshotTimer = Preconditions.checkNotNull(snapshotTimer);
+ this.snapshotTimer = requireNonNull(snapshotTimer);
}
@Override
private final RemoveServerContext removeServerContext;
protected RemoveServerState(final RemoveServerContext removeServerContext) {
- this.removeServerContext = Preconditions.checkNotNull(removeServerContext);
+ this.removeServerContext = requireNonNull(removeServerContext);
}
if (succeeded && localServerChangedToNonVoting) {
LOG.debug("Leader changed to non-voting - trying leadership transfer");
raftActor.becomeNonVoting();
+ } else if (raftActor.isLeader()) {
+ raftActor.onVotingStateChangeComplete();
}
}
private final String loggingContext;
ServerOperationTimeout(final String loggingContext) {
- this.loggingContext = Preconditions.checkNotNull(loggingContext, "loggingContext should not be null");
+ this.loggingContext = requireNonNull(loggingContext, "loggingContext should not be null");
}
String getLoggingContext() {