You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by GitBox <gi...@apache.org> on 2021/10/05 18:23:30 UTC

[GitHub] [kafka] hachikuji commented on pull request #11372: [DO NOT MERGE] MINOR: Do not send data on abortable error too

hachikuji commented on pull request #11372:
URL: https://github.com/apache/kafka/pull/11372#issuecomment-934656281


   @guozhangwang I've been trying to write a test case for this scenario, but so far I've been unsuccessful. I think in order to hit this case, we have to send to a new partition after already being in the abortable error state. But this fails because of the following check: https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/producer/internals/Sender.java#L422. After we have hit the abortable state, we fail new appends categorically without sending them. I tried to think of other related scenarios, but I couldn't create a problem. The code is complex enough though that it's tough to feel confident that all cases have been covered.
   
   Another thing is that we seem to already have some protection in `RecordAccumulator` even if we slip past the call to `maybeSendAndPollTransactionalRequest` and hit `sendProducerData`: https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java#L508.


-- 
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-unsubscribe@kafka.apache.org

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