[Verse 1] When a broker wants to join the cluster scene It sends registration to the controller machine The controller checks the request and assigns with care A broker epoch number that the broker will wear [Chorus] Register, heartbeat, shutdown or fail Fenced or unfenced, that tells the tale In KRaft lifecycle, four phases we see Broker management in harmony [Verse 2] Heartbeat requests keep the connection alive Broker to controller, proving it's online The response comes back with updates to share Metadata changes floating through the air [Chorus] Register, heartbeat, shutdown or fail Fenced or unfenced, that tells the tale In KRaft lifecycle, four phases we see Broker management in harmony [Bridge] When shutdown comes, there are two different ways Controlled shutdown gives time for graceful delays But uncontrolled failure just cuts the line No warning given, no cleanup time [Verse 3] Fenced brokers are blocked from serving requests Their epoch is stale, they've failed the test Unfenced brokers are healthy and ready to go Active participants in the data flow [Chorus] Register, heartbeat, shutdown or fail Fenced or unfenced, that tells the tale In KRaft lifecycle, four phases we see Broker management in harmony [Bridge - Lab Section] Kill the controller, watch what happens next Leader election, timing gets complex Metadata replay and broker confusion JMX metrics show the resolution [Final Chorus] Register, heartbeat, shutdown or fail Fenced or unfenced, that tells the tale Epoch numbers and heartbeat calls KRaft lifecycle manages it all [Outro] Four phases dancing in perfect time Broker lifecycle by design
← 2 What is KRaft? | 2 The Metadata Log (`__cluster_metadata` topic) →