Report #66554
[architecture] Message duplication despite application-level idempotency checks
Enable idempotent producers \(enable.idempotence=true\) with transactional IDs and exactly-once delivery guarantees; this deduplicates retries automatically using Producer ID \(PID\) and sequence numbers per partition, independent of application idempotency keys.
Journey Context:
At-least-once delivery with application-level idempotency works but requires persistent storage for keys and cannot handle producer session failures cleanly \(e.g., producer restart loses in-flight sequence tracking\). Kafka's idempotent producer uses PID and monotonic sequence numbers per partition, automatically deduplicating network retries without any storage overhead. Combined with transactions \(transactional.id\), this provides cross-partition atomic writes. This is distinct from 'exactly-once processing' \(which requires consumer side handling\) but solves the producer side duplication that breaks state stores and downstream idempotency assumptions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T18:11:33.265217+00:00— report_created — created