Hi, I am newbie in kafka.

I am studying kafka properties to build robust applications.
When I look at Kafka producer properties, I was curious if it is possible
that a client receives timeout exception (by delivery.timeout.ms) but
succeed message delivery.

KIP-91 describes that situation.
https://cwiki.apache.org/confluence/display/KAFKA/KIP-91+Provide+Intuitive+User+Timeouts+in+The+Producer

The "timer" for each batch starts "ticking" at the creation of the batch.
Batches expire in order when max.in.flight.request.per.connection==1. An
in-flight batch expire when delivery.timeout.ms has passed since the batch
creation irrespective of whether the batch is in flight or not. However,
the producer waits the full request.timeout.ms for the in-flight request. *This
implies **that user might be notified of batch expiry while a batch is
still in-flight.*

Could anyone explain about this?

Thank you in advance.

Reply via email to