jsancio commented on code in PR #20071:
URL: https://github.com/apache/kafka/pull/20071#discussion_r2192968185


##########
docs/ops.html:
##########
@@ -3948,6 +3948,40 @@ <h4 class="anchor-heading"><a id="others_monitoring" 
class="anchor-link"></a><a
 
   <h3 class="anchor-heading"><a id="kraft" class="anchor-link"></a><a 
href="#kraft">6.8 KRaft</a></h3>
 
+  <h4 class="anchor-heading"><a id="kraft_upgrade" class="anchor-link"></a><a 
href="#kraft_upgrade">Upgrade</a></h4>
+
+  Apache Kafka 4.1 added support for upgrading cluster from a static 
controller configuration to a dynamic controller configuration. This feature 
upgrade is done by upgrading the kraft feature version and updating the nodes 
configuration.
+
+  <h5 class="anchor-heading"><a id="kraft_upgrade_describe" 
class="anchor-link"></a><a href="#kraft_upgrade_describe">Describe KRaft 
Version</a></h5>
+
+  <p>Dynamic controller cluster was added in <code>kraft.version=1</code> or 
<code>release-version 4.1</code>. To determine which kraft feature version the 
cluster is using you can execute the following CLI command:</p>
+
+  <pre><code class="language-bash">$ bin/kafka-features.sh 
--bootstrap-controller localhost:9093 describe
+...
+Feature: kraft.version  SupportedMinVersion: 0  SupportedMaxVersion: 1  
FinalizedVersionLevel: 0        Epoch: 7
+Feature: metadata.version       SupportedMinVersion: 3.3-IV3    
SupportedMaxVersion: 4.0-IV3    FinalizedVersionLevel: 4.0-IV3  Epoch: 
7</code></pre>
+
+  <p>If the <code>FinalizedVersionLevel</code> for <code>Feature: 
kraft.version</code> is <code>0</code>, the version need to be upgraded to at 
least <code>1</code> to support a dynamic controller cluster.</p>
+
+  <h5 class="anchor-heading"><a id="kraft_upgrade_version" 
class="anchor-link"></a><a href="#kraft_upgrade_version">Upgrade KRaft 
Version</a></h5>
+
+  <p>The kraft feature version can be upgraded to support dynamic controller 
clusters by using the <code>kafka-feature</code> CLI command. To upgrade all of 
the feature versions to the latest version:</p>
+
+  <pre><code class="language-bash">$ bin/kafka-features.sh --bootstrap-server 
localhost:9092 upgrade --release-version 4.1</code></pre>
+
+  <p>To upgrade just the kraft feature version:</p>
+
+  <pre><code class="language-bash">$ bin/kafka-features.sh --bootstrap-server 
localhost:9092 upgrade --feature kraft.version=1</code></pre>
+
+  <h5 class="anchor-heading"><a id="kraft_upgrade_config" 
class="anchor-link"></a><a href="#kraft_upgrade_config">Update KRaft 
Config</a></h5>
+
+  <p>KRaft version 1 deprecated the <code>controller.quorum.voters</code> 
property and added the <code>controller.quorum.bootstrap.servers</code> 
property. After checking that the kraft version has been successfully upgrade 
to at least version <code>1</code>. Remove the 
<code>controller.quorum.voters</code> property and add the 
<code>controller.quorum.bootstrap.servers</code> to all of the nodes 
(controllers and brokers) in the cluster.</p>
+
+  <pre><code class="language-bash">process.roles=...

Review Comment:
   I am not sure. Let me see what I can do. I wanted to document the steps 
needed to upgrade the KRaft feature version without the user having to 
jump/read other sections.
   
   It is interesting that you both suggest different sections.
   
   I think we can solve this issue by moving the configuration section first. 
Above the upgrade the section. The upgrade section can repeat this information 
by saying that they need to remove `controller.quorum.voters` and added 
`controller.quorum.bootstrap.servers`.
   
   Let me make that change and you can tell me what you think.



-- 
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

Reply via email to