public abstract class LogAppenderBase extends Object implements LogAppender
LogAppender.DEFAULT_CLASS, LOG| Modifier | Constructor and Description |
|---|---|
protected |
LogAppenderBase(RaftServer.Division server,
LeaderState leaderState,
FollowerInfo f) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetCallId, getCallIdComparator, getFollowerId, getRaftLog, getServerRpc, hasAppendEntries, newLogAppenderDefault, notifyLogAppender, onFollowerTerm, run, shouldInstallSnapshot, stopprotected LogAppenderBase(RaftServer.Division server, LeaderState leaderState, FollowerInfo f)
public void triggerHeartbeat()
triggerHeartbeat in interface LogAppenderprotected void resetHeartbeatTrigger()
public boolean shouldSendAppendEntries()
shouldSendAppendEntries in interface LogAppenderpublic long getHeartbeatWaitTimeMs()
getHeartbeatWaitTimeMs in interface LogAppenderpublic AwaitForSignal getEventAwaitForSignal()
getEventAwaitForSignal in interface LogAppenderpublic final RaftServer.Division getServer()
getServer in interface LogAppenderpublic void start()
start in interface LogAppenderpublic boolean isRunning()
isRunning in interface LogAppenderpublic CompletableFuture<LifeCycle.State> stopAsync()
stopAsync in interface LogAppenderprotected TimeDuration getWaitTimeMin()
protected TimeDuration getRemainingWaitTime()
public final FollowerInfo getFollower()
getFollower in interface LogAppenderpublic final LeaderState getLeaderState()
getLeaderState in interface LogAppenderpublic boolean hasPendingDataRequests()
protected long getNextIndexForInconsistency(long requestFirstIndex,
long replyNextIndex)
protected LongUnaryOperator getNextIndexForError(long newNextIndex)
public org.apache.ratis.proto.RaftProtos.AppendEntriesRequestProto newAppendEntriesRequest(long callId, boolean heartbeat) throws RaftLogIOException
newAppendEntriesRequest in interface LogAppenderRaftLogIOExceptionpublic org.apache.ratis.proto.RaftProtos.InstallSnapshotRequestProto newInstallSnapshotNotificationRequest(TermIndex firstAvailableLogTermIndex)
newInstallSnapshotNotificationRequest in interface LogAppenderpublic Iterable<org.apache.ratis.proto.RaftProtos.InstallSnapshotRequestProto> newInstallSnapshotRequests(String requestId, SnapshotInfo snapshot)
newInstallSnapshotRequests in interface LogAppenderCopyright © 2017–2023 The Apache Software Foundation. All rights reserved.