Thanks Jose and Kevin, Wanted to confirm my understanding, for the scenarios under the Compatibility section:
2. bootstrap.checkpoint exist with metadata records and the zero checkpoint > exists but doesn't contain any metadata records - In this case the > controller will behave as it does today. The controller will be able to > identify this case because RaftClient.Listener#handleLoadSnapshot will ask > to load the zero checkpoint but it will be empty, no metadata records. This is the expected state for a cluster which upgraded from pre-KIP-1170 to post-KIP-1170? > 3. bootstrap.checkpoint doesn't exist and the zero checkpoint exists with > metadata records - In this case the controller will use the zero > checkpoint's metadata records to and write them to the log in a transaction > or single atomic batch like the controller does pre-KIP-1170. And this would be the expected state on startup for newly provisioned clusters that implement KIP-1170? 4. bootstrap.checkpoint exist and the zero checkpoint exists with metadata > records - This should not be possible from a formatting point of view but > the active controller will handle this case the same as bullet 3 but with > the addition of writing a WARN message to the controller log. Can we explain why this should not be possible? It might not be obvious to readers Also, what do you think about breaking the Proposed Changes section into two examples? How new changes impact newly provisioned clusters vs existing clusters (with bootstrap.checkpoint). > If the controller doesn't load a snapshot at epoch 0 and offset 0, the > controller will load the bootstrap.checkpoint and rewrite the bootstrapping > record to the cluster metadata partition if they haven't been successfully > written in the past. For instance, it seems I should interpret the above scenario as when the cluster existed pre-KIP-1170, but it's possible for the controller not to load a snapshot at epoch 0 and offset 0 solely because that snapshot was deleted due to retention. Best, Alyssa On Wed, Aug 27, 2025 at 1:23 PM José Armando García Sancio <jsan...@confluent.io.invalid> wrote: > Hi all, > > I would like to start a discussion on KIP-1170: Unify cluster metadata > bootstrapping: > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1170%3A+Unify+cluster+metadata+bootstrapping > > This KIP unifies the controller's bootstrap checkpoint and KRaft zero > checkpoint by moving the starting metadata from bootstrap.checkpoint > to the zero checkpoint. > > Thanks, > > -- > -José >