Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
The current state initialization logic preserves whatever state the broker was in when it was shutdown. In particular, if the node was previously a leader, it will remain a leader. This can be dangerous if we want to consider optimizations such as in KAFKA-10526 since the leader might lose unflushed data following the restart. It would be safer to always initialize as a follower so that a leader's tenure never crosses process restarts. This helps to guarantee the uniqueness of the (offset, epoch) tuple which the replication protocol depends on.
Attachments
Issue Links
- links to