conduktor.io ↗

KIP-359 — Verify leader epoch in produce requests

Accepted BrokerProducer

Adds the leader epoch to ProduceRequest and validates it against the partition leader's current epoch before accepting the write, rejecting stale requests with FENCED_LEADER_EPOCH. Without this fencing, a producer holding a stale leader reference (after a leader failover) could successfully append records to the wrong broker if routing metadata was not refreshed in time, potentially causing duplicate or out-of-order writes.

Details

AuthorJason Gustafson
StatusAccepted
JIRAKAFKA-7383
WikiView on Apache Wiki
Created2018-08-18
Last Modified2018-09-06
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.