leaderId = appendEntries.getLeaderId();
leaderPayloadVersion = appendEntries.getPayloadVersion();
- updateInitialSyncStatus(appendEntries.getLeaderCommit(), appendEntries.getLeaderId());
// First check if the logs are in sync or not
long lastIndex = lastIndex();
lastTerm(), context.getPayloadVersion());
log.info("{}: Follower is out-of-sync so sending negative reply: {}", logName(), reply);
-
+ updateInitialSyncStatus(appendEntries.getLeaderCommit(), appendEntries.getLeaderId());
sender.tell(reply, actor());
return this;
}
// follower's log and state.
log.info("{}: Could not remove entries - sending reply to force snapshot", logName());
+ updateInitialSyncStatus(appendEntries.getLeaderCommit(), appendEntries.getLeaderId());
sender.tell(new AppendEntriesReply(context.getId(), currentTerm(), false, lastIndex,
lastTerm(), context.getPayloadVersion(), true), actor());
return this;
break;
} else {
+ updateInitialSyncStatus(appendEntries.getLeaderCommit(), appendEntries.getLeaderId());
sender.tell(new AppendEntriesReply(context.getId(), currentTerm(), false, lastIndex,
lastTerm(), context.getPayloadVersion(), true), actor());
return this;
}
// Reply to the leader before applying any previous state so as not to hold up leader consensus.
+ updateInitialSyncStatus(appendEntries.getLeaderCommit(), appendEntries.getLeaderId());
sender.tell(reply, actor());
// If commitIndex > lastApplied: increment lastApplied, apply