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]
