[ https://issues.apache.org/jira/browse/KAFKA-3190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15135289#comment-15135289 ]
ASF GitHub Bot commented on KAFKA-3190: --------------------------------------- GitHub user becketqin opened a pull request: https://github.com/apache/kafka/pull/880 KAFKA-3190 Producer should not fire callback in Send() method @guozhangwang Would you mind take a look? This was originally introduced in KAFKA-1260. I did not find specific reason in the original rb that we have to handle ApiException separately in callback. You can merge this pull request into a Git repository by running: $ git pull https://github.com/becketqin/kafka KAFKA-3190 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/880.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #880 ---- commit e41464bffae59e3d79beb34d8999b560017a19dc Author: Jiangjie Qin <becket....@gmail.com> Date: 2016-02-05T23:46:25Z KAFKA-3190 Producer should not fire callback in Send() method ---- > KafkaProducer should not invoke callback in send() > -------------------------------------------------- > > Key: KAFKA-3190 > URL: https://issues.apache.org/jira/browse/KAFKA-3190 > Project: Kafka > Issue Type: Bug > Components: clients, producer > Affects Versions: 0.9.0.0 > Reporter: Jiangjie Qin > Assignee: Jiangjie Qin > Fix For: 0.9.0.1 > > > Currently KafkaProducer will invoke callback.onComplete() if it receives an > ApiException during send(). This breaks the guarantee that callback will be > invoked in order. It seems ApiException in send() only comes from metadata > refresh. If so, we can probably simply throw it instead of invoking > callback(). -- This message was sent by Atlassian JIRA (v6.3.4#6332)