This is an automated email from the ASF dual-hosted git repository.
dajac 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 97e4e7e6a Update doc for 4.0.0 RC3
97e4e7e6a is described below
commit 97e4e7e6ac29245569a5475492b1429b730497cb
Author: David Jacot <[email protected]>
AuthorDate: Wed Mar 12 15:05:03 2025 +0100
Update doc for 4.0.0 RC3
---
40/compatibility-summary.html | 27 +++++
40/documentation.html | 6 +-
40/documentation/compatibility.html | 201 +++++++++++++++++++++++++++++++++++
40/{ => documentation}/zk2kraft.html | 12 +--
40/generated/connect_rest.yaml | 2 +-
40/streams/upgrade-guide.html | 50 +--------
40/toc.html | 5 +-
40/upgrade.html | 58 ++++++----
40/zk2kraft-summary.html | 27 +++++
9 files changed, 314 insertions(+), 74 deletions(-)
diff --git a/40/compatibility-summary.html b/40/compatibility-summary.html
new file mode 100644
index 000000000..bb6f2d581
--- /dev/null
+++ b/40/compatibility-summary.html
@@ -0,0 +1,27 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<script><!--#include virtual="js/templateData.js" --></script>
+
+<script id="compatibility-summary-template" type="text/x-handlebars-template">
+<p>
+ With the release of Kafka 4.0, significant changes have been introduced
that impact compatibility across various
+ components. To assist users in planning upgrades and ensuring seamless
interoperability, a comprehensive
+ <a href="/{{version}}/documentation/compatibility.html">compatibility
matrix</a> has been prepared.
+</p>
+</script>
+<div class="p-compatibility-summary"></div>
diff --git a/40/documentation.html b/40/documentation.html
index d95777dc1..b142263ac 100644
--- a/40/documentation.html
+++ b/40/documentation.html
@@ -76,7 +76,11 @@
<!--#include virtual="ecosystem.html" -->
<h3 class="anchor-heading"><a id="upgrade" class="anchor-link"></a><a
href="#upgrade">1.5 Upgrading From Previous Versions</a></h3>
<!--#include virtual="upgrade.html" -->
- <h3 class="anchor-heading"><a id="docker" class="anchor-link"></a><a
href="#docker">1.6 Docker</a></h3>
+ <h3 class="anchor-heading"><a id="zk2kraft-summary"
class="anchor-link"></a><a href="#zk2kraft-summary">1.6 KRaft vs
ZooKeeper</a></h3>
+ <!--#include virtual="zk2kraft-summary.html" -->
+ <h3 class="anchor-heading"><a id="compatibility-summary"
class="anchor-link"></a><a href="#compatibility-summary">1.7
Compatibility</a></h3>
+ <!--#include virtual="compatibility-summary.html" -->
+ <h3 class="anchor-heading"><a id="docker" class="anchor-link"></a><a
href="#docker">1.8 Docker</a></h3>
<!--#include virtual="docker.html" -->
<h2 class="anchor-heading"><a id="api" class="anchor-link"></a><a
href="#api">2. APIs</a></h2>
diff --git a/40/documentation/compatibility.html
b/40/documentation/compatibility.html
new file mode 100644
index 000000000..e1b5134ea
--- /dev/null
+++ b/40/documentation/compatibility.html
@@ -0,0 +1,201 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--#include virtual="../../includes/_header.htm" -->
+<!--#include virtual="../../includes/_top.htm" -->
+<div class="content">
+ <div class="p-compatibility">
+ <h1>Compatibility</h1>
+ With the release of Kafka 4.0, significant changes have been
introduced that impact compatibility across various
+ components. To assist users in planning upgrades and ensuring seamless
interoperability, a comprehensive
+ compatibility matrix has been prepared.
+ <h2 class="anchor-heading">JDK Compatibility Across Kafka Versions</h2>
+ <table>
+ <tr>
+ <th>Module</th>
+ <th>Kafka Version</th>
+ <th>Java 11</th>
+ <th>Java 17</th>
+ <th>Java 23</th>
+ </tr>
+ <tr>
+ <td>Clients</td>
+ <td>4.0.0</td>
+ <td>✅</td>
+ <td>✅</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>Streams</td>
+ <td>4.0.0</td>
+ <td>✅</td>
+ <td>✅</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>Connect</td>
+ <td>4.0.0</td>
+ <td>❌</td>
+ <td>✅</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>Server</td>
+ <td>4.0.0</td>
+ <td>❌</td>
+ <td>✅</td>
+ <td>✅</td>
+ </tr>
+ </table>
+ <p><strong>Note: Java 8 is removed in Kafka 4.0 and is no longer
supported.</strong></p>
+
+ <h2 class="anchor-heading">Server Compatibility</h2>
+ <table>
+ <tr>
+ <th>KRaft Cluster Version</th>
+ <th>Compatibility 4.0 Server (dynamic voter)</th>
+ <th>Compatibility 4.0 Server (static voter)</th>
+ </tr>
+ <tr>
+ <td>before 3.2.x</td>
+ <td>❌</td>
+ <td>❌</td>
+ </tr>
+ <tr>
+ <td>3.3.x</td>
+ <td>❌</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>3.4.x</td>
+ <td>❌</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>3.5.x</td>
+ <td>❌</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>3.6.x</td>
+ <td>❌</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>3.7.x</td>
+ <td>❌</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>3.8.x</td>
+ <td>❌</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>3.9.x</td>
+ <td>✅</td>
+ <td>✅</td>
+ </tr>
+ <tr>
+ <td>4.0.x</td>
+ <td>✅</td>
+ <td>✅</td>
+ </tr>
+ </table>
+ <p><strong>Note: Can’t upgrade server from static voter to dynamic
+ voter, see <a
href="https://issues.apache.org/jira/browse/KAFKA-16538">KAFKA-16538</a>.</strong></p>
+
+ <h4>Client/Broker Forward Compatibility</h4>
+ <table>
+ <tr>
+ <th>Kafka Version</th>
+ <th>Module</th>
+ <th>Compatibility with Kafka 4.0</th>
+ <th>Key Differences/Limitations</th>
+ </tr>
+ <tr>
+ <td rowspan="3">0.x, 1.x, 2.0</td>
+ <td>Client</td>
+ <td>❌ Not Compatible</td>
+ <td>Pre-0.10.x protocols are fully removed in Kafka 4.0 (<a
+
href="https://cwiki.apache.org/confluence/x/K5sODg">KIP-896</a>).
+ </td>
+ </tr>
+ <tr>
+ <td>Streams</td>
+ <td>❌ Not Compatible</td>
+ <td>Pre-0.10.x protocols are fully removed in Kafka 4.0 (<a
+
href="https://cwiki.apache.org/confluence/x/K5sODg">KIP-896</a>).
+ </td>
+ </tr>
+ <tr>
+ <td>Connect</td>
+ <td>❌ Not Compatible</td>
+ <td>Pre-0.10.x protocols are fully removed in Kafka 4.0 (<a
+
href="https://cwiki.apache.org/confluence/x/K5sODg">KIP-896</a>).
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="3">2.1 ~ 2.8</td>
+ <td>Client</td>
+ <td>⚠️ Partially Compatible</td>
+ <td>
+ More details in the <a
href="/40/documentation.html#upgrade_400_notable_consumer">Consumer</a>,
+ <a
href="/40/documentation.html#upgrade_400_notable_producer">Producer</a>, and
+ <a
href="/40/documentation.html#upgrade_400_notable_admin_client">Admin Client</a>
section.
+ </td>
+ </tr>
+ <tr>
+ <td>Streams</td>
+ <td>⚠️ Limited Compatibility</td>
+ <td>
+ More details in the <a
href="/40/documentation.html#upgrade_400_notable_kafka_streams">Kafka
Streams</a> section.
+ </td>
+ </tr>
+ <tr>
+ <td>Connect</td>
+ <td>⚠️ Limited Compatibility</td>
+ <td>
+ More details in the <a
href="/40/documentation.html#upgrade_400_notable_connect">Connect</a> section.
+ </td>
+ </tr>
+ <tr>
+ <td rowspan="3">3.x</td>
+ <td>Client</td>
+ <td>✅ Fully Compatible</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Streams</td>
+ <td>✅ Fully Compatible</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Connect</td>
+ <td>✅ Fully Compatible</td>
+ <td></td>
+ </tr>
+ </table>
+ <p>
+ Note: Starting with Kafka 4.0, the <code>--zookeeper</code> option
in AdminClient commands has been removed. Users must
+ use the <code>--bootstrap-server</code> option to interact with
the Kafka cluster. This change aligns with the transition
+ to KRaft mode.
+ </p>
+
+ </div>
+ <!--#include virtual="../../includes/_footer.htm" -->
+</div>
\ No newline at end of file
diff --git a/40/zk2kraft.html b/40/documentation/zk2kraft.html
similarity index 98%
rename from 40/zk2kraft.html
rename to 40/documentation/zk2kraft.html
index ae7c7ff1b..69e322bb0 100644
--- a/40/zk2kraft.html
+++ b/40/documentation/zk2kraft.html
@@ -15,8 +15,8 @@
limitations under the License.
-->
-<!--#include virtual="../includes/_header.htm" -->
-<!--#include virtual="../includes/_top.htm" -->
+<!--#include virtual="../../includes/_header.htm" -->
+<!--#include virtual="../../includes/_top.htm" -->
<div class="content">
<div class="p-zk2kraft">
<h1>Differences Between KRaft mode and ZooKeeper mode</h1>
@@ -32,8 +32,8 @@
<li>
<p>
Removed password encoder-related configurations. These
configurations were used in
- ZooKeeper mode to define the key and backup key for encrypting
sensitive data (e.g., passwords),
- specify the algorithm and key generation method for password
encryption (e.g., AES, RSA), and control
+ ZooKeeper mode to define the key and backup key for encrypting
sensitive data (e.g., passwords),
+ specify the algorithm and key generation method for password
encryption (e.g., AES, RSA), and control
the key length and encryption strength.
</p>
<ul>
@@ -57,7 +57,7 @@
<p>
In KRaft mode, Kafka eliminates its dependency on ZooKeeper,
and the control plane functionality is
fully integrated into Kafka itself. The process roles are
clearly separated: brokers handle data-related
- requests, while the controllers (a.k.a., quorum controller)
manages metadata-related requests. The controllers
+ requests, while the controllers (a.k.a., quorum controller)
manages metadata-related requests. The controllers
use the Raft protocol for internal communication, which
operates differently from the ZooKeeper model. Use the
following parameters to configure the control plane listener:
</p>
@@ -316,5 +316,5 @@
</li>
</ul>
</div>
-<!--#include virtual="../includes/_footer.htm" -->
+<!--#include virtual="../../includes/_footer.htm" -->
</div>
diff --git a/40/generated/connect_rest.yaml b/40/generated/connect_rest.yaml
index 69639ddb3..c2f837f29 100644
--- a/40/generated/connect_rest.yaml
+++ b/40/generated/connect_rest.yaml
@@ -8,7 +8,7 @@ info:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: Kafka Connect REST API
- version: 4.0.0
+ version: 4.0.0-SNAPSHOT
paths:
/:
get:
diff --git a/40/streams/upgrade-guide.html b/40/streams/upgrade-guide.html
index 89fd62fd9..1c6de66ab 100644
--- a/40/streams/upgrade-guide.html
+++ b/40/streams/upgrade-guide.html
@@ -1725,73 +1725,33 @@
<h3 class="anchor-heading"><a id="streams_api_broker_compat"
class="anchor-link"></a><a href="#streams_api_broker_compat">Streams API broker
compatibility</a></h3>
- <p>The following table shows which versions of the Kafka Streams API are
compatible with various Kafka broker versions.</p>
+ <p>The following table shows which versions of the Kafka Streams API are
compatible with various Kafka broker versions. For Kafka Stream version older
than 2.4.x, please check <a href="/39/documentation/streams/upgrade-guide">3.9
upgrade document</a>.</p>
<table border="1" class="non-scrolling-table docutils">
<thead>
<tr>
<th></th>
- <th colspan="5">Kafka Broker (columns)</th>
+ <th colspan="2">Kafka Broker (columns)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Kafka Streams API (rows)</td>
- <td>0.10.0.x</td>
- <td>0.10.1.x and 0.10.2.x</td>
- <td>0.11.0.x and<br>1.0.x and<br>1.1.x and<br>2.0.x</td>
<td>2.1.x and<br>2.2.x and<br>2.3.x and<br>2.4.x and<br>2.5.x
and<br>2.6.x and<br>2.7.x and<br>2.8.x and<br>3.0.x and<br>3.1.x and<br>3.2.x
and<br>3.3.x and<br>3.4.x and<br>3.5.x and<br>3.6.x and<br>3.7.x and<br>3.8.x
and<br>3.9.x</td>
<td>4.0.x</td>
</tr>
<tr>
- <td>0.10.0.x</td>
+ <td>2.4.x and<br>2.5.x</td>
<td>compatible</td>
<td>compatible</td>
- <td>compatible</td>
- <td>compatible</td>
- <td></td>
</tr>
<tr>
- <td>0.10.1.x and 0.10.2.x</td>
- <td></td>
- <td>compatible</td>
- <td>compatible</td>
- <td>compatible</td>
- <td></td>
- </tr>
- <tr>
- <td>0.11.0.x</td>
- <td></td>
- <td>compatible with exactly-once turned off<br>(requires broker
version 0.11.0.x or higher)</td>
- <td>compatible</td>
- <td></td>
- </tr>
- <tr>
- <td>1.0.x and<br>1.1.x and<br>2.0.x and<br>2.1.x and<br>2.2.0
and<br>2.2.0</td>
- <td></td>
- <td>compatible with exactly-once turned off<br>(requires broker
version 0.11.0.x or higher);<br>requires message format 0.10 or
higher;<br>message headers are not supported<br>(requires broker version
0.11.0.x or higher<br>with message format 0.11 or higher)</td>
- <td>compatible; requires message format 0.10 or higher;<br>if
message headers are used, message format 0.11<br>or higher required</td>
- <td>compatible</td>
- <td></td>
- </tr>
- <tr>
- <td>2.2.1 and<br>2.3.x and<br>2.4.x and<br>2.5.x and<br>2.6.x
and<br>2.7.x and<br>2.8.x and<br>3.0.x and<br>3.1.x and<br>3.2.x and<br>3.3.x
and<br>3.4.x and<br>3.5.x and<br>3.6.x and<br>3.7.x and<br>3.8.x
and<br>3.9.x</td>
- <td></td>
- <td></td>
- <td>compatible; requires message format 0.11 or
higher;<br>enabling exactly-once v2 requires 2.5.x or higher</td>
- <td>compatible</td>
- <td></td>
- </tr>
- <tr>
- <td>4.0.x</td>
- <td></td>
- <td></td>
- <td></td>
+ <td>2.6.x and<br>2.7.x and<br>2.8.x and<br>3.0.x and<br>3.1.x
and<br>3.2.x and<br>3.3.x and<br>3.4.x and<br>3.5.x and<br>3.6.x and<br>3.7.x
and<br>3.8.x and<br>3.9.x and<br>4.0.x</td>
<td>compatible; enabling exactly-once v2 requires broker version
2.5.x or higher</td>
<td>compatible</td>
</tr>
</tbody>
- </table>
+ </table>
<div class="pagination">
<a
href="/{{version}}/documentation/streams/developer-guide/app-reset-tool"
class="pagination__btn pagination__btn__prev">Previous</a>
diff --git a/40/toc.html b/40/toc.html
index 906860b93..c42961cf7 100644
--- a/40/toc.html
+++ b/40/toc.html
@@ -27,8 +27,9 @@
<li><a href="#quickstart">1.3 Quick Start</a>
<li><a href="#ecosystem">1.4 Ecosystem</a>
<li><a href="#upgrade">1.5 Upgrading</a>
- <li><a href="/{{version}}/zk2kraft">1.6 Differences Between
KRaft mode and ZooKeeper mode</a>
- <li><a href="#docker">1.7 Docker</a>
+ <li><a href="#zk2kraft-summary">1.6 KRaft vs ZooKeeper</a>
+ <li><a href="#compatibility-summary">1.7 Compatibility</a>
+ <li><a href="#docker">1.8 Docker</a>
</ul>
<li><a href="#api">2. APIs</a>
diff --git a/40/upgrade.html b/40/upgrade.html
index 5d3d6caec..eba558f39 100644
--- a/40/upgrade.html
+++ b/40/upgrade.html
@@ -19,7 +19,32 @@
<script id="upgrade-template" type="text/x-handlebars-template">
-<h4><a id="upgrade_4_0_0" href="#upgrade_4_0_0">Upgrading to 4.0.0 from any
version 0.8.x through 3.9.x</a></h4>
+<h4><a id="upgrade_4_0_0" href="#upgrade_4_0_0">Upgrading to 4.0.0</a></h4>
+
+<h5><a id="upgrade_clients_4_0_0" href="#upgrade_clients_4_0_0">Upgrading
Clients to 4.0.0</a></h5>
+
+<p><b>For a rolling upgrade:</b></p>
+
+<ol>
+ <li>Upgrade the clients one at a time: shut down the client, update the
code, and restart it.</li>
+ <li>Clients (including Streams and Connect) must be on version 2.1 or
higher before upgrading to 4.0. Many deprecated APIs were removed in Kafka 4.0.
+ For more information about the compatibility, please refer to the <a
href="/{{version}}/documentation/compatibility.html">compatibility matrix</a>
+ or <a
href="https://cwiki.apache.org/confluence/x/y4kgF">KIP-1124</a>.</li>
+</ol>
+
+<h6><a id="upgrade_clients_400_notable"
href="#upgrade_clients_400_notable">Notable changes in 4.0.0</a></h6>
+
+<ul>
+ <li>Please see notable changes in the server section.</li>
+</ul>
+
+<h5><a id="upgrade_servers_4_0_0" href="#upgrade_servers_4_0_0">Upgrading
Servers to 4.0.0 from any version 3.3.x through 3.9.x</a></h5>
+
+<p>Note: Apache Kafka 4.0 only supports KRaft mode - ZooKeeper mode has been
removed. As such, <b>broker upgrades to 4.0.0 (and higher) require KRaft mode
and
+ the software and metadata versions must be at least 3.3.x</b> (the first
version when KRaft mode was deemed production ready). For clusters in KRaft mode
+ with versions older than 3.3.x, we recommend upgrading to 3.9.x before
upgrading to 4.0.x. Clusters in ZooKeeper mode
+ have to be <a
href="/{{version}}/documentation.html#kraft_zk_migration">migrated to KRaft
mode</a> before they can be upgraded to 4.0.x.
+</p>
<p><b>For a rolling upgrade:</b></p>
@@ -36,12 +61,9 @@
Every <a
href="https://github.com/apache/kafka/blob/trunk/server-common/src/main/java/org/apache/kafka/server/common/MetadataVersion.java">MetadataVersion</a>
has a boolean parameter that indicates if there are metadata changes
(i.e. <code>IBP_4_0_IV1(23, "4.0", "IV1", true)</code> 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.</li>
- <li>For the Kafka client upgrade path, note that many deprecated APIs were
removed in Kafka 4.0. Additionally, upgrading directly to 4.x from certain
versions is not feasible.
- For more information, please refer to <a
href="https://cwiki.apache.org/confluence/x/y4kgF">KIP-1124</a>.
- </li>
</ol>
- <h5><a id="upgrade_400_notable" href="#upgrade_400_notable">Notable
changes in 4.0.0</a></h5>
+ <h5><a id="upgrade_servers_400_notable"
href="#upgrade_servers_400_notable">Notable changes in 4.0.0</a></h5>
<ul>
<li>
Old protocol API versions have been removed. Users should ensure
brokers are version 2.1 or higher before upgrading Java clients
@@ -51,13 +73,11 @@
<a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-896%3A+Remove+old+client+protocol+API+versions+in+Kafka+4.0">KIP-896</a>
for the details.
</li>
<li>
- Apache Kafka 4.0 only supports KRaft mode - ZooKeeper mode has
been removed. As such, broker upgrades to 4.0.x (and higher) require KRaft mode
and
- the software and metadata versions must be at least 3.3.x (the
first version when KRaft mode was deemed production ready). For clusters in
KRaft mode
- with versions older than 3.3.x, we recommend upgrading to 3.9.x
before upgrading to 4.0.x. Clusters in ZooKeeper mode
- have to be <a
href="/39/documentation.html#kraft_zk_migration">migrated to KRaft mode</a>
before they can be upgraded to 4.0.x.
+ Apache Kafka 4.0 only supports KRaft mode - ZooKeeper mode has
been removed. About version upgrade,
+ check <a
href="/{{version}}/documentation.html#upgrade_4_0_0">Upgrading to 4.0.0 from
any version 3.3.x through 3.9.x</a> for more info.
</li>
<li>
- Apache Kafka 4.0 ships with a brand-new group coordinator
implementation (See <a
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-GroupCoordinator">here</a>.
+ Apache Kafka 4.0 ships with a brand-new group coordinator
implementation (See <a
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=217387038#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-GroupCoordinator">here</a>).
Functionally speaking, it implements all the same APIs. There are
reasonable defaults, but the behavior of the new
group coordinator can be tuned by setting the configurations with
prefix <code>group.coordinator</code>.
</li>
@@ -87,7 +107,7 @@
</li>
<li>A number of deprecated classes, methods, configurations and tools
have been removed.
<ul>
- <li><b>Common</b>
+ <li><a id="upgrade_400_notable_common"
href="#upgrade_400_notable_common"><b>Common</b></a>
<ul>
<li>The <code>metrics.jmx.blacklist</code> and
<code>metrics.jmx.whitelist</code> configurations were removed from the
<code>org.apache.kafka.common.metrics.JmxReporter</code>
Please use <code>metrics.jmx.exclude</code> and
<code>metrics.jmx.include</code> respectively instead.
@@ -130,7 +150,7 @@
</li>
</ul>
</li>
- <li><b>Broker</b>
+ <li><a id="upgrade_400_notable_broker"
href="#upgrade_400_notable_broker"><b>Broker</b></a>
<ul>
<li>The <code>delegation.token.master.key</code>
configuration was removed.
Please use
<code>delegation.token.secret.key</code> instead.
@@ -163,7 +183,7 @@
</li>
</ul>
</li>
- <li><b>MirrorMaker</b>
+ <li><a id="upgrade_400_notable_MirrorMaker"
href="#upgrade_400_notable_MirrorMaker"><b>MirrorMaker</b></a>
<ul>
<li>The original MirrorMaker (MM1) and related classes
were removed. Please use the Connect-based
MirrorMaker (MM2), as described in the <a
href="/{{version}}/documentation/#georeplication">Geo-Replication section.</a>.
@@ -185,7 +205,7 @@
</li>
</ul>
</li>
- <li><b>Tools</b>
+ <li><a id="upgrade_400_notable_tools"
href="#upgrade_400_notable_tools"><b>Tools</b></a>
<ul>
<li>The <code>kafka.common.MessageReader</code> class
was removed. Please use the
<a
href="/{{version}}/javadoc/org/apache/kafka/tools/api/RecordReader.html"><code>org.apache.kafka.tools.api.RecordReader</code></a>
@@ -236,7 +256,7 @@
</li>
</ul>
</li>
- <li><b>Connect</b>
+ <li><a id="upgrade_400_notable_connect"
href="#upgrade_400_notable_connect"><b>Connect</b></a>
<ul>
<li>The <code>whitelist</code> and
<code>blacklist</code> configurations were removed from the
<code>org.apache.kafka.connect.transforms.ReplaceField</code> transformation.
Please use <code>include</code> and
<code>exclude</code> respectively instead.
@@ -248,7 +268,7 @@
</li>
</ul>
</li>
- <li><b>Consumer</b>
+ <li><a id="upgrade_400_notable_consumer"
href="#upgrade_400_notable_consumer"><b>Consumer</b></a>
<ul>
<li>The <code>poll(long)</code> method was removed
from the consumer. Please use <code>poll(Duration)</code> instead. Note that
there is
a difference in behavior between the two methods.
The <code>poll(Duration)</code> method does not block beyond the timeout
awaiting
@@ -263,7 +283,7 @@
</li>
</ul>
</li>
- <li><b>Producer</b>
+ <li><a id="upgrade_400_notable_producer"
href="#upgrade_400_notable_producer"><b>Producer</b></a>
<ul>
<li>The <code>enable.idempotence</code> configuration
will no longer automatically fall back when the
<code>max.in.flight.requests.per.connection</code> value exceeds 5.
</li>
@@ -274,7 +294,7 @@
</li>
</ul>
</li>
- <li><b>Admin client</b>
+ <li><a id="upgrade_400_notable_admin_client"
href="#upgrade_400_notable_admin_client"><b>Admin client</b></a>
<ul>
<li>
The <code>alterConfigs</code> method was removed
from the <code>org.apache.kafka.clients.admin.Admin</code>.
@@ -318,7 +338,7 @@
</li>
</ul>
</li>
- <li><b>Kafka Streams</b>
+ <li><a id="upgrade_400_notable_kafka_streams"
href="#upgrade_400_notable_kafka_streams"><b>Kafka Streams</b></a>
<ul>
<li>
All public API, deprecated in Apache Kafka 3.6 or
an earlier release, have been removed, with the exception of
<code>JoinWindows.of()</code> and <code>JoinWindows#grace()</code>.
diff --git a/40/zk2kraft-summary.html b/40/zk2kraft-summary.html
new file mode 100644
index 000000000..9ed9c2a54
--- /dev/null
+++ b/40/zk2kraft-summary.html
@@ -0,0 +1,27 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<script><!--#include virtual="js/templateData.js" --></script>
+
+<script id="zk2kraft-summary-template" type="text/x-handlebars-template">
+<p>
+ There are many differences between ZooKeeper mode and KRaft mode.
+ The <a href="/{{version}}/documentation/zk2kraft.html">Differences Between
KRaft mode and ZooKeeper mode</a> page lists all of these differences,
+ including configurations, metrics, and behavioral changes.
+</p>
+</script>
+<div class="p-zk2kraft-summary"></div>