Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-18195: Fix Kafka Streams broker compatibility matrix #18258

Open
wants to merge 6 commits into
base: trunk
Choose a base branch
from

Conversation

FrankYang0529
Copy link
Member

@FrankYang0529 FrankYang0529 commented Dec 18, 2024

In the client-broker compatibility matrix of the Kafka Streams docs, we use an empty cell to indicate "incompatible". This is confusing and some have mentioned it looks like an error rather than intentional, so we should instead just explicitly enter the word "incompatible". See this comment for context: #17906 (comment)

Preview:

Screenshot 2025-03-10 at 9 45 58 PM

Reviewers: Matthias J. Sax [email protected]


Previous Preview:

Screenshot 2024-12-18 at 10 42 25 PM

@mjsax
Copy link
Member

mjsax commented Dec 20, 2024

The KS column does not seem to be correct? KS 4.0 is compatible to brokers 2.1+ or newer...

@mjsax
Copy link
Member

mjsax commented Dec 20, 2024

Also the cell for 2.1.x / .. / 3 .9.x brokers and 2.1.x / .. / 3 .9.x KS seems to be incorrect (even if this was done by the previous PR). I should point out that EOSv2 requires broker version 2.5+. -- This make we wonder, if we should split out an additional rage for KS from 2.1.x / ... / 2.5.x -- these versions only have EOSv1 and would not need this statement?

@mjsax
Copy link
Member

mjsax commented Dec 20, 2024

Alos, Kafka Streams 0.10.0 (and all other older version) should be compatible to newer brokers, right (except 4.0, for which we remove older RPC versions, and thus only KS 2.1+ would work with 4.0 brokers).

@FrankYang0529 FrankYang0529 force-pushed the KAFKA-18915 branch 3 times, most recently from 3c38bd4 to a5013b8 Compare December 22, 2024 04:09
@FrankYang0529
Copy link
Member Author

Hi @mjsax, thanks for the review. I follow the suggestion to update a version. Could you take a look when you have time? Thank you.

Screenshot 2024-12-22 at 12 02 26 PM

…es blank in Kafka Streams broker compatibility matrix

Signed-off-by: PoAn Yang <[email protected]>
@mjsax
Copy link
Member

mjsax commented Mar 4, 2025

Seems we are getting close to vote KIP-1124. Might be good to start updating this PR?

I think, we should cut down the matrix to simplify it and only include broker versions 2.1.x to 4.0.x and KS versions 2.3.x to 4.0.x? And refer to 3.9 docs (with a link) for older versions?

@FrankYang0529 FrankYang0529 changed the title KAFKA-18915: Enter incompatible instead of leaving incompatible entires blank in Kafka Streams broker compatibility matrix KAFKA-18195: Enter incompatible instead of leaving incompatible entires blank in Kafka Streams broker compatibility matrix Mar 5, 2025
@FrankYang0529
Copy link
Member Author

Hi @mjsax, thanks for the comment. Not sure whether KS version 2.3.x is typo. From KIP-1124 and streams_upgrade_test.py, the lowest KS version is v2.4.x.

Screenshot 2025-03-05 at 10 15 10 PM

@mjsax
Copy link
Member

mjsax commented Mar 7, 2025

Ah, yes, 2.4... my bad :)

<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 with exactly-once v2 turned off</td>
Copy link
Member

@mjsax mjsax Mar 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2.4.x and 2.5.x do not have EOSv2 -- so this is confusing... There is nothing to be turned on/off -- EOSv2 was only added in 2.6.0 release.

So it might be easier to just say "compatible" ?

<td></td>
<td></td>
<td>compatible; enabling exactly-once v2 requires broker version 2.5.x or higher</td>
<td>compatible</td>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that KS 4.0.x does not include EOSv1 any longer, we should also call this out? KS 4.0 with EOSv2 does require broker 2.5+ too.

Given that we don't have EOSv1 in KS 4.0 any longer, we could say "enabling exactly-once requires broker version 2.5.x or higher" (ie, drop the v2 thing).

Or: we just merge 4.0 row with 2.6.x - 3.9.x row?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for late update. I merge 4.0 to 2.6.x - 3.9.x, so we don't need to update the description. Thanks.

Screenshot 2025-03-10 at 9 45 58 PM

@FrankYang0529 FrankYang0529 changed the title KAFKA-18195: Enter incompatible instead of leaving incompatible entires blank in Kafka Streams broker compatibility matrix KAFKA-18195: Fix Kafka Streams broker compatibility matrix Mar 10, 2025
@FrankYang0529 FrankYang0529 requested a review from mjsax March 10, 2025 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs small Small PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants