[
https://issues.apache.org/jira/browse/KAFKA-1659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14321029#comment-14321029
]
Guozhang Wang commented on KAFKA-1659:
--------------------------------------
Yes it works only with max-inflight-request == 1 (this is the setting for those
ordering preserving apps like mirror-maker, samza and database replication
anyways), but the logic itself should be very simple.
I am not sure how idempotent producers can help here, can you elaborate?
> Ability to cleanly abort the KafkaProducer
> ------------------------------------------
>
> Key: KAFKA-1659
> URL: https://issues.apache.org/jira/browse/KAFKA-1659
> Project: Kafka
> Issue Type: Improvement
> Components: clients, producer
> Affects Versions: 0.8.2.0
> Reporter: Andrew Stein
> Assignee: Jun Rao
> Fix For: 0.8.3
>
>
> I would like the ability to "abort" the Java Client's KafkaProducer. This
> includes the stopping the writing of buffered records.
> The motivation for this is described
> [here|http://mail-archives.apache.org/mod_mbox/kafka-dev/201409.mbox/%3CCAOk4UxB7BJm6HSgLXrR01sksB2dOC3zdt0NHaKHz1EALR6%3DCTQ%40mail.gmail.com%3E].
> A sketch of this method is:
> {code}
> public void abort() {
> try {
> ioThread.interrupt();
> ioThread.stop(new ThreadDeath());
> } catch (IllegalAccessException e) {
> }
> }
> {code}
> but of course it is preferable to stop the {{ioThread}} by cooperation,
> rather than use the deprecated {{Thread.stop(new ThreadDeath())}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)