KIP-380 — Detect outdated control requests and bounced brokers using broker generation
Accepted Kafka 2.2 Broker
KIP-380 introduces a monotonically increasing `brokerEpoch` field assigned at each broker registration in ZooKeeper so that brokers and the controller can detect and reject control requests (LeaderAndIsr, StopReplica, ControlledShutdown) that belong to a previous incarnation of the same broker. Without a generation counter, a quickly bouncing broker could accidentally process stale control messages sent to its previous incarnation, leaving replicas offline or causing incorrect HWM truncation.
Protocol Impact
Metadata · LeaderAndIsr · StopReplica · UpdateMetadata · ControlledShutdown
Details
| Author | Patrick Huang |
| Status | Accepted |
| Kafka Version | 2.2 |
| JIRA | KAFKA-7235 |
| Wiki | View on Apache Wiki |
| Created | 2018-10-09 |
| Last Modified | 2018-11-13 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.