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
| Author | Jason Gustafson |
| Status | Accepted |
| JIRA | KAFKA-7383 |
| Wiki | View on Apache Wiki |
| Created | 2018-08-18 |
| Last Modified | 2018-09-06 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.