[
https://issues.apache.org/jira/browse/KAFKA-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guozhang Wang resolved KAFKA-3193.
----------------------------------
Resolution: Not A Problem
> Wait for producer message acks in StreamTask.commit()
> -----------------------------------------------------
>
> Key: KAFKA-3193
> URL: https://issues.apache.org/jira/browse/KAFKA-3193
> Project: Kafka
> Issue Type: Sub-task
> Reporter: Guozhang Wang
>
> Today in StreamTask.commit(), we does the following:
> 1) flush local state storage if it is persistent (e.g. RocksDB).
> 2) flush produced records in the downstream and changelog Kafka topics.
> 3) commit consumed offsets if it is dirty already
> However in step 2) above:
> {code}
> producer.flush();
> {code}
> does not actually block on all the acks, but only force draining all records
> in the buffer and send them. This actually result in a major defect of the
> commit() call. We'd better add the ability in producer to wait in flushing.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)