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


   It is possible to clean a segment partially if the offset map is filled. The 
highest offset that is reached becomes the new dirty offset after the cleaning 
completes. The data above this offset is nevertheless copied over to the new 
partially cleaned segment. Hence we need to ensure that the transaction index 
reflects aborted transactions in both the cleaned and uncleaned portion of the 
segment. Prior to this patch, this was not the case. We only collected the 
aborted transactions from the cleaned portion, which means that the 
reconstructed index would be incomplete. This can cause the aborted data to 
become effectively committed. It can also cause the deletion of the abort 
marker before the corresponding data has been removed (i.e. the aborted 
transaction becomes hanging).
   
   
   ### 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.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

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


Reply via email to