update kafka_log compatibility#18784
Conversation
✅ Vale Linting ResultsNo issues found on modified lines! The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale. |
💚 Build Succeeded
|
| ### Compatibility | ||
|
|
||
| This integration is intended for Kafka clusters where brokers speak the standard Kafka protocol. It is tested and supported for Kafka broker versions roughly between **0.11** and **2.8.0**. Earlier or later brokers can work but are not guaranteed. | ||
| This integration is intended for Kafka clusters where brokers speak the standard Kafka protocol. It is tested and supported for Kafka broker versions roughly between **0.11** and **4.0.0**. Earlier or later brokers can work but are not guaranteed. |
There was a problem hiding this comment.
Has this version support been tested.
There was a problem hiding this comment.
yes
Summary: kafka_log package compatibility with Kafka 3.x and 4.x
Short answer: Yes — the kafka_log integration supports both Kafka 3.x and Kafka 4.x, tested against Elastic Stack 9.1–9.3.
Kafka 3.x
Full support across all tested configurations, both consensus modes, no caveats.
| Kafka version | Mode | Elastic Stack | Result |
|---|---|---|---|
| 3.0.0 | ZooKeeper | 9.1.10, 9.2.7, 9.3.2 | 32/32 docs, no errors |
| 3.6.2 | ZooKeeper | 9.1.10, 9.2.7, 9.3.0 | 32/32 docs, no errors |
| 3.6.2 | KRaft | 9.1.10, 9.2.7, 9.3.0 | 32/32 docs, no errors |
Kafka 4.x
Supported on all tested Elastic Stack versions (KRaft only, as ZooKeeper was removed in Kafka 4.0), but with a caveat around the explicit version field in the integration config:
| Kafka version | Mode | Elastic Stack | Result |
|---|---|---|---|
| 4.0.0 | KRaft | 9.1.10 | 32/32 docs — version field must be left blank |
| 4.0.0 | KRaft | 9.2.7 | 32/32 docs — explicit "4.0.0" works |
| 4.0.0 | KRaft | 9.3.3 | 32/32 docs — explicit "4.0.0" works |
Version field caveat (root cause: sarama client update in elastic/beats#49307):
- 9.1.x: always leave blank — fix was not backported
- 9.2.x: leave blank on releases before 9.2.7;
"4.0.0"works from 9.2.7+ - 9.3.x: leave blank on releases before 9.3.3;
"4.0.0"works from 9.3.3+
Leaving the field blank is safe on all versions — the client defaults to protocol 2.1.0, which Kafka 4.0 supports for backward compatibility. Setting "4.0.0" on an unsupported stack
version causes the integration to enter FAILED status.
Proposed commit message
Checklist
changelog.ymlfile.Author's Checklist
How to test this PR locally
Related issues
Screenshots