Overview
When a failed broker restarts, it is a follower, and it first truncates any divergent entries in its log. It does this with the leader epoch: it asks the leader for the end offset of its last leader epoch and truncates to that, falling back to its own high watermark only when no epoch information is available. It then fetches from the leader, and is added back to the ISR once it has fully caught up. This is automatic.
Production tip
Check yourself
A failed broker restarts. When is it added back to a partition's ISR?
Sources
- AbstractFetcherThread.scala (4.2 source) (opens in a new tab)
- Design (4.2 documentation) (opens in a new tab)
- Monitoring (4.2 documentation) (opens in a new tab)
Checked against Kafka 4.2 documentation on Oct 2026. Draft: not yet reviewed by a Kafka specialist. Releases move on, so confirm against the current documentation before you act on a number.