junrao commented on PR #20254:
URL: https://github.com/apache/kafka/pull/20254#issuecomment-3373191390

   > We do check the send Callback (not the Future, but it's effectively the 
same thing, right?) after flush returned, but if flush does not block, the 
callbacks are not executed yet, and thus our check if any callback failed does 
not detect the error.
   
   Yes, waiting for the callback is the same thing. I guess you could design 
the callback to be more defensive by making sure that the callback is indeed 
called. In this bug, flush() does return before the callback is called.
   
   > If we make flush() block as it should, and not let is exit early, we 
should hit max.block.ms inside flush() and it would throw a TimeoutException 
back into KS code?
   
   flush() doesn't time out after max.block.ms. It just waits for all requests 
to be completed, which should happen after max delivery time. 


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

Reply via email to