This is an automated email from the ASF dual-hosted git repository.
davidarthur pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/kafka-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 29bec05 Add upgrade notes for 2.5.0 release (#259)
29bec05 is described below
commit 29bec05126cd15ebcab93b4c0f78a348b234a8ba
Author: David Arthur <[email protected]>
AuthorDate: Wed Apr 15 13:28:05 2020 -0400
Add upgrade notes for 2.5.0 release (#259)
---
25/upgrade.html | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/25/upgrade.html b/25/upgrade.html
index 6d05b6d..701d097 100644
--- a/25/upgrade.html
+++ b/25/upgrade.html
@@ -19,6 +19,48 @@
<script id="upgrade-template" type="text/x-handlebars-template">
+<h4><a id="upgrade_2_5_0" href="#upgrade_2_5_0">Upgrading from 0.8.x, 0.9.x,
0.10.0.x, 0.10.1.x, 0.10.2.x, 0.11.0.x, 1.0.x, 1.1.x, 2.0.x or 2.1.x or 2.2.x,
2.3.x, 2.4.x to 2.5.0</a></h4>
+
+<p><b>If you are upgrading from a version prior to 2.1.x, please see the note
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.</b></p>
+
+<p><b>For a rolling upgrade:</b></p>
+
+<ol>
+ <li> 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.
+ <ul>
+ <li>inter.broker.protocol.version=CURRENT_KAFKA_VERSION (e.g.
0.10.0, 0.11.0, 1.0, 2.0, 2.2).</li>
+ <li>log.message.format.version=CURRENT_MESSAGE_FORMAT_VERSION
(See <a href="#upgrade_10_performance_impact">potential performance impact
+ following the upgrade</a> for the details on what this
configuration does.)</li>
+ </ul>
+ 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.
+ <ul>
+ <li>inter.broker.protocol.version=CURRENT_KAFKA_VERSION (0.11.0,
1.0, 1.1, 2.0, 2.1, 2.2, 2.3).</li>
+ </ul>
+ </li>
+ <li> 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.
+ </li>
+ <li> Once the cluster's behavior and performance has been verified, bump
the protocol version by editing
+ <code>inter.broker.protocol.version</code> and setting it to 2.5.
+ </li>
+ <li> 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.
+ </li>
+ <li> 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 2.5 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 <a
href="#upgrade_11_exactly_once_semantics">exactly once semantics</a>),
+ the newer Java clients must be used.
+ </li>
+</ol>
+
<h5><a id="upgrade_250_notable" href="#upgrade_250_notable">Notable changes in
2.5.0</a></h5>
<ul>
<li>When <code>RebalanceProtocol#COOPERATIVE</code> is used,
<code>Consumer#poll</code> can still return data