From 9603d4c9ef1cffc33f5f378f1ec7c5c0d0dacdd5 Mon Sep 17 00:00:00 2001 From: Stanislav Date: Wed, 21 Feb 2024 12:00:42 +0100 Subject: [PATCH] MINOR: Add 3.7 upgrade notes spacing fix alignment --- docs/upgrade.html | 72 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/docs/upgrade.html b/docs/upgrade.html index 3498d80cbd5..0b3c92a644e 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -21,19 +21,89 @@

Upgrading to 3.7.0 from any version 0.8.x through 3.6.x

+ +
Upgrading ZooKeeper-based clusters
+

If you are upgrading from a version prior to 2.1.x, please see the note in step 5 below about the change to the schema used to store consumer offsets. + Once you have changed the inter.broker.protocol.version to the latest version, it will not be possible to downgrade to a version prior to 2.1.

+ +

For a rolling upgrade:

+ +
    +
  1. Update server.properties on all brokers and add the following properties. CURRENT_KAFKA_VERSION refers to the version you + are upgrading from. CURRENT_MESSAGE_FORMAT_VERSION refers to the message format version currently in use. If you have previously + overridden the message format version, you should keep its current value. Alternatively, if you are upgrading from a version prior + to 0.11.0.x, then CURRENT_MESSAGE_FORMAT_VERSION should be set to match CURRENT_KAFKA_VERSION. + + If you are upgrading from version 0.11.0.x or above, and you have not overridden the message format, then you only need to override + the inter-broker protocol version. +
      +
    • inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g. 3.6, 3.5, etc.)
    • +
    +
  2. +
  3. Upgrade the brokers one at a time: shut down the broker, update the code, and restart it. Once you have done so, the + brokers will be running the latest version and you can verify that the cluster's behavior and performance meets expectations. + It is still possible to downgrade at this point if there are any problems. +
  4. +
  5. Once the cluster's behavior and performance has been verified, bump the protocol version by editing + inter.broker.protocol.version and setting it to 3.7. +
  6. +
  7. Restart the brokers one by one for the new protocol version to take effect. Once the brokers begin using the latest + protocol version, it will no longer be possible to downgrade the cluster to an older version. +
  8. +
  9. If you have overridden the message format version as instructed above, then you need to do one more rolling restart to + upgrade it to its latest version. Once all (or most) consumers have been upgraded to 0.11.0 or later, + change log.message.format.version to 3.7 on each broker and restart them one by one. Note that the older Scala clients, + which are no longer maintained, do not support the message format introduced in 0.11, so to avoid conversion costs + (or to take advantage of exactly once semantics), + the newer Java clients must be used. +
  10. +
+ +
Upgrading KRaft-based clusters
+

If you are upgrading from a version prior to 3.3.0, please see the note in step 3 below. Once you have changed the metadata.version to the latest version, it will not be possible to downgrade to a version prior to 3.3-IV0.

+ +

For a rolling upgrade:

+ +
    +
  1. Upgrade the brokers one at a time: shut down the broker, update the code, and restart it. Once you have done so, the + brokers will be running the latest version and you can verify that the cluster's behavior and performance meets expectations. +
  2. +
  3. Once the cluster's behavior and performance has been verified, bump the metadata.version by running + + ./bin/kafka-features.sh upgrade --metadata 3.7 + +
  4. +
  5. Note that cluster metadata downgrade is not supported in this version since it has metadata changes. + Every MetadataVersion + after 3.2.x has a boolean parameter that indicates if there are metadata changes (i.e. IBP_3_3_IV3(7, "3.3", "IV3", true) means this version has metadata changes). + Given your current and target versions, a downgrade is only possible if there are no metadata changes in the versions between.
  6. +
+
Notable changes in 3.7.0