...
Current state: Under Discussion
Discussion thread: TBD here
JIRA:
Jira | ||||||
---|---|---|---|---|---|---|
|
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
config | current default value | proposed default value |
---|---|---|
enable.idempotence | false | true |
acks | 1 | all |
max.in.flight.requests.per.connection | 5 | 2 |
retries | 0 | MAX_INT |
There will be no other publicly visible changes required.
The changes above would guarantee exactly once, in order delivery per partition for topics with replication-factor >= 2
, and assuming that the system doesn't suffer multiple hard failures or concurrent transient failures.
...
Currently, the idempotent producer requires max.in.flight.requests.per.connection=1 for correctness reasons. We will need to make client and broker changes to support max.in.flight.requests.per.connection > 1 with the idempotent producer. The details of the changes required are in this ticket.
- Kafka Exactly Once - Solving the problem of spurious OutOfOrderSequence errors
- Kafka Exactly Once - Dealing with older message formats when idempotence is enabled
Performance considerations
...