Xushaohong commented on code in PR #745:
URL: https://github.com/apache/ratis/pull/745#discussion_r971456881
##########
ratis-server/src/main/java/org/apache/ratis/server/leader/LogAppenderBase.java:
##########
@@ -158,6 +158,11 @@ private TermIndex getPrevious(long nextIndex) {
}
}
+ final long raftLogLastPurgedIndex = getRaftLog().getStartIndex() - 1;
+ if (raftLogLastPurgedIndex == previousIndex) {
+ return TermIndex.valueOf(server.getInfo().getCurrentTerm(),
raftLogLastPurgedIndex);
Review Comment:
> Then, did the leader send the latest snapshot (t:17, i:3413643)?
NO.
When leader A restarted, it remained to be the leader and tried to send its
latest entries, but B does not have them and triggered Inconsistency and thus A
sent the `notifyInstallSnapshot`. Since A's raft log.startIndex had not
changed, A will still try to append the log starting from 3402406, which
caused the loop.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]