Kafka producer retires docs make sense?

Viewed 26

the current (3.2) producer retry documentantion in Kafka is:

Allowing retries while setting enable.idempotence to false and max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.

Previously, the documentation for 2.8 was:

Allowing retries without setting max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.

Do the two docs contradict themselves?

From previous experience, setting max.in.flight.requests.per.connection=1 will ensure ordering even for enable.idempotence=false , which is not what the current documentation states.


UPDATE: I've found that the default acks configurations changed and it might be a clue:

Notable changes in 3.0.0: The producer has stronger delivery guarantees by default: idempotence is enabled and acks is set to all instead of 1. See KIP-679 for details.

However, it is more related to data loss than to ordering.

0 Answers
Related