hachikuji opened a new pull request #10481:
URL: https://github.com/apache/kafka/pull/10481


   KIP-595 describes an extra condition on commitment here: 
https://cwiki.apache.org/confluence/display/KAFKA/KIP-595%3A+A+Raft+Protocol+for+the+Metadata+Quorum#KIP595:ARaftProtocolfortheMetadataQuorum-Fetch.
 In order to ensure that a newly elected leader's committed entries cannot get 
lost, it must commit one record from its own epoch. This guarantees that its 
latest entry is larger (in terms of epoch/offset) than any previously written 
record which ensures that any future leader must also include it. This is the 
purpose of the `LeaderChange` record which is written to the log as soon as the 
leader gets elected.
   
   Although we had this check implemented, it was off by one. We only ensured 
that replication reached the epoch start offset, which does not reflect the 
appended `LeaderChange` record. This patch fixes the check and clarifies the 
point of the check. The rest of the patch is just fixing up test cases.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to