mumrah commented on code in PR #14160: URL: https://github.com/apache/kafka/pull/14160#discussion_r1303452266
########## docs/ops.html: ########## @@ -3603,39 +3603,45 @@ <h4 class="anchor-heading"><a id="kraft_missing" class="anchor-link"></a><a href <ul> <li>Supporting JBOD configurations with multiple storage directories</li> <li>Modifying certain dynamic configurations on the standalone KRaft controller</li> - <li>Delegation tokens</li> </ul> <h4 class="anchor-heading"><a id="kraft_zk_migration" class="anchor-link"></a><a href="#kraft_zk_migration">ZooKeeper to KRaft Migration</a></h4> <p> <b>ZooKeeper to KRaft migration is considered an Early Access feature and is not recommended for production clusters.</b> + Please report issues with ZooKeeper to KRaft migration using the + <a href="https://issues.apache.org/jira/projects/KAFKA" target="_blank">project JIRA</a> and the "kraft" component. </p> - <p>The following features are not yet supported for ZK to KRaft migrations:</p> - + <h3>Terminology</h3> <ul> - <li>Downgrading to ZooKeeper mode during or after the migration</li> - <li>Other features <a href="#kraft_missing">not yet supported in KRaft</a></li> + <li>Brokers that are in <b>ZK mode</b> store their metadata in Apache ZooKepeer. This is the old mode of handling metadata.</li> + <li>Brokers that are in <b>KRaft mode</b> store their metadata in a KRaft quorum. This is the new and improve mode of handling metadata.</li> + <li><b>Migration</b> is the process of moving cluster metadata from ZooKeeper into a KRaft quorum.</li> </ul> - <p> - Please report issues with ZooKeeper to KRaft migration using the - <a href="https://issues.apache.org/jira/projects/KAFKA" target="_blank">project JIRA</a> and the "kraft" component. - </p> + <h3>Migration Phases</h3> + In general, the migration process passes through several phases. - <h3>Terminology</h3> - <p> - We use the term "migration" here to refer to the process of changing a Kafka cluster's metadata - system from ZooKeeper to KRaft and migrating existing metadata. An "upgrade" refers to installing a newer version of Kafka. It is not recommended to - upgrade the software at the same time as performing a metadata migration. - </p> + <ul> + <li>In the <b>initial phase</b>, all the brokers are in ZK mode, and there is a ZK-based controller.</li> + <li>During the <b>initial metadata load</b>, a KRaft quorum loads the metadata from ZooKeeper,</li> + <li>In <b>hybrid phase</b>, some brokers are in ZK mode, but there is a KRaft controller.</li> + <li>In <b>dual-write phase</b>, all brokers are KRaft, but the KRaft controller is continuing to write to ZK.</li> + <li>When the migration has been <b>finalized</b>, we no longer write metadata to ZooKeeper.</li> + </ul> Review Comment: As far as the controller is concerned, there is only pre-migration, migration, and post-migration states. This is what's actually stored in the log. The "migration" state encompasses the _operational_ states we call Hybrid and Dual-Write. Hybrid is really a sub-set of Dual-Write where we have some number of ZK brokers. In both Hybrid and Dual-Write we're doing the double metadata writes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org