[ https://issues.apache.org/jira/browse/KAFKA-5621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16112129#comment-16112129 ]
Apurva Mehta commented on KAFKA-5621: ------------------------------------- [~sutambe] : one clarification. my proposal for `max.message.delivery.wait.ms` means just that. If a message has not been sent after this time, error it out. So if the `send` happened at time `T`, then the message would be expired if `T + max.message.delivery.wait.ms` has elapsed and the message has still not been successfully acknowledged. In a sense, this would make setting `retries` a bit redundant unless you set `retries=0`. I think this is more intuitive than a `batch.expiry.ms`. For instance, would the the clock for batch expiry be reset every time the batch is requeued after failure? Also [~ijuma]`s point is that the `max.block.wait.ms` is the upper bound on how long the producer will be stuck trying to send a batch anyway once the buffers are full, so there would never be a truly infinite wait. AT this point I think a config like `max.message.delivery.wait.ms` is a decent way to address multiple use cases. As I said before, I think we should open that discussion and try to converge on the details on the mailing list. [~sutambe] are you planning on doing that? > The producer should retry expired batches when retries are enabled > ------------------------------------------------------------------ > > Key: KAFKA-5621 > URL: https://issues.apache.org/jira/browse/KAFKA-5621 > Project: Kafka > Issue Type: Bug > Reporter: Apurva Mehta > Assignee: Apurva Mehta > Fix For: 1.0.0 > > > Today, when a batch is expired in the accumulator, a {{TimeoutException}} is > raised to the user. > It might be better the producer to retry the expired batch rather up to the > configured number of retries. This is more intuitive from the user's point of > view. > Further the proposed behavior makes it easier for applications like mirror > maker to provide ordering guarantees even when batches expire. Today, they > would resend the expired batch and it would get added to the back of the > queue, causing the output ordering to be different from the input ordering. -- This message was sent by Atlassian JIRA (v6.4.14#64029)