jolshan opened a new pull request, #13787:
URL: https://github.com/apache/kafka/pull/13787

   This is a redo of https://github.com/apache/kafka/pull/13608
   
   Introduced extra mapping to track verification state.
   
   When verifying, there is a race condition that the add partitions 
verification response returns that the partition is in the ongoing transaction, 
but an abort marker is written before we get to append. Therefore, we track any 
given transaction we are verifying with an object unique to that transaction. 
   
   We check this unique state upon the first append to the log. After that, we 
can rely on currentTransactionFirstOffset. We remove the verification state on 
appending to the log with a transactional data record or marker.
   
   We will also clean up lingering verification state entries via the producer 
state entry expiration mechanism. We do not update the the timestamp on 
retrying a verification for a transaction, so each entry must be verified 
before producer.id.expiration.ms.
   
   ### 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