From cf07e6b1f64b581b997def4e3f9bcbb832a8f074 Mon Sep 17 00:00:00 2001 From: Ken Huang Date: Wed, 12 Mar 2025 09:38:37 +0800 Subject: [PATCH] KAFKA-18074: Add kafka client compatibility matrix (#18091) Add new section for Kafka 4.0 compatibility metrics for user, so user can check server and client in this section. Reviewers: Divij Vaidya , Matthias J. Sax --- docs/compatibility-summary.html | 27 ++++ docs/documentation.html | 4 +- docs/documentation/compatibility.html | 201 ++++++++++++++++++++++++++ docs/toc.html | 3 +- docs/upgrade.html | 18 +-- 5 files changed, 242 insertions(+), 11 deletions(-) create mode 100644 docs/compatibility-summary.html create mode 100644 docs/documentation/compatibility.html diff --git a/docs/compatibility-summary.html b/docs/compatibility-summary.html new file mode 100644 index 00000000000..bb6f2d581bc --- /dev/null +++ b/docs/compatibility-summary.html @@ -0,0 +1,27 @@ + + + + + +
diff --git a/docs/documentation.html b/docs/documentation.html index e499031c8f5..b142263ac85 100644 --- a/docs/documentation.html +++ b/docs/documentation.html @@ -78,7 +78,9 @@

1.6 KRaft vs ZooKeeper

-

1.7 Docker

+

1.7 Compatibility

+ +

1.8 Docker

2. APIs

diff --git a/docs/documentation/compatibility.html b/docs/documentation/compatibility.html new file mode 100644 index 00000000000..e1b5134ea40 --- /dev/null +++ b/docs/documentation/compatibility.html @@ -0,0 +1,201 @@ + + + + +
+
+

Compatibility

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

JDK Compatibility Across Kafka Versions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModuleKafka VersionJava 11Java 17Java 23
Clients4.0.0
Streams4.0.0
Connect4.0.0
Server4.0.0
+

Note: Java 8 is removed in Kafka 4.0 and is no longer supported.

+ +

Server Compatibility

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KRaft Cluster VersionCompatibility 4.0 Server (dynamic voter)Compatibility 4.0 Server (static voter)
before 3.2.x
3.3.x
3.4.x
3.5.x
3.6.x
3.7.x
3.8.x
3.9.x
4.0.x
+

Note: Can’t upgrade server from static voter to dynamic + voter, see KAFKA-16538.

+ +

Client/Broker Forward Compatibility

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Kafka VersionModuleCompatibility with Kafka 4.0Key Differences/Limitations
0.x, 1.x, 2.0Client❌ Not CompatiblePre-0.10.x protocols are fully removed in Kafka 4.0 (KIP-896). +
Streams❌ Not CompatiblePre-0.10.x protocols are fully removed in Kafka 4.0 (KIP-896). +
Connect❌ Not CompatiblePre-0.10.x protocols are fully removed in Kafka 4.0 (KIP-896). +
2.1 ~ 2.8Client⚠️ Partially Compatible + More details in the Consumer, + Producer, and + Admin Client section. +
Streams⚠️ Limited Compatibility + More details in the Kafka Streams section. +
Connect⚠️ Limited Compatibility + More details in the Connect section. +
3.xClient✅ Fully Compatible
Streams✅ Fully Compatible
Connect✅ Fully Compatible
+

+ Note: Starting with Kafka 4.0, the --zookeeper option in AdminClient commands has been removed. Users must + use the --bootstrap-server option to interact with the Kafka cluster. This change aligns with the transition + to KRaft mode. +

+ +
+ +
\ No newline at end of file diff --git a/docs/toc.html b/docs/toc.html index cc8107ad8a3..c42961cf7fb 100644 --- a/docs/toc.html +++ b/docs/toc.html @@ -28,7 +28,8 @@
  • 1.4 Ecosystem
  • 1.5 Upgrading
  • 1.6 KRaft vs ZooKeeper -
  • 1.7 Docker +
  • 1.7 Compatibility +
  • 1.8 Docker
  • 2. APIs diff --git a/docs/upgrade.html b/docs/upgrade.html index 9ab621d38cd..c1dd22db9de 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -101,7 +101,7 @@
  • A number of deprecated classes, methods, configurations and tools have been removed.
      -
    • Common +
    • Common
      • The metrics.jmx.blacklist and metrics.jmx.whitelist configurations were removed from the org.apache.kafka.common.metrics.JmxReporter Please use metrics.jmx.exclude and metrics.jmx.include respectively instead. @@ -144,7 +144,7 @@
    • -
    • Broker +
    • Broker
      • The delegation.token.master.key configuration was removed. Please use delegation.token.secret.key instead. @@ -177,7 +177,7 @@
    • -
    • MirrorMaker +
    • MirrorMaker
      • The original MirrorMaker (MM1) and related classes were removed. Please use the Connect-based MirrorMaker (MM2), as described in the Geo-Replication section.. @@ -199,7 +199,7 @@
    • -
    • Tools +
    • Tools
    • -
    • Connect +
    • Connect
      • The whitelist and blacklist configurations were removed from the org.apache.kafka.connect.transforms.ReplaceField transformation. Please use include and exclude respectively instead. @@ -262,7 +262,7 @@
    • -
    • Consumer +
    • Consumer
      • The poll(long) method was removed from the consumer. Please use poll(Duration) instead. Note that there is a difference in behavior between the two methods. The poll(Duration) method does not block beyond the timeout awaiting @@ -277,7 +277,7 @@
    • -
    • Producer +
    • Producer
      • The enable.idempotence configuration will no longer automatically fall back when the max.in.flight.requests.per.connection value exceeds 5.
      • @@ -288,7 +288,7 @@
    • -
    • Admin client +
    • Admin client
      • The alterConfigs method was removed from the org.apache.kafka.clients.admin.Admin. @@ -332,7 +332,7 @@
    • -
    • Kafka Streams +
    • Kafka Streams
      • All public APIs, deprecated in Apache Kafka 3.6 or an earlier release, have been removed, with the exception of JoinWindows.of() and JoinWindows#grace().