chia7712 commented on PR #17843: URL: https://github.com/apache/kafka/pull/17843#issuecomment-2484700427
> I am not 100% sure if the PR make sense? While AK 4.0 brokers don't support older client versions any longer, Kafka Streams is also compatible to older broker version. [KIP-896](https://cwiki.apache.org/confluence/display/KAFKA/KIP-896%3A+Remove+old+client+protocol+API+versions+in+Kafka+4.0) states that 'client compatibility system tests will be updated so that 4.0.x clients fail with an UNSUPPORTED_VERSION error when interacting with Apache Kafka brokers that are too old (2.0 and/or 1.x).' It seems to me that Kafka Streams, being part of the client, should also follow this rule. I mean, there wouldn't be any running Streams instances to upgrade, as they'd encounter an unsupported version error and fail before the rolling upgrade when the broker is 4.0+ > Thus, one could use a 3.x broker, and upgrade Kafka Streams 0.11.0 to 4.0... To be fair, we would only test this upgrade using trunk for brokers right now, what would break as the older client could not connect to a trunk broker, but I don't think the broker versions actually matters for what we want to test. In the end, we test if we can upgrade KS client side, which is more or less independent of the user broker version. > Thus, I am actually wondering, if we should instead rewrite the corresponding system test, to use broker version 3.9 to test upgrading older KS versions to 4.0+ client side That's a fair question. Personally, upgrading the client from 0.x/1.x to 4.x is a rare case since it's a giant leap 😄. Therefore, simplifying the test matrix and e2e infra is more important to me at the moment. Additionally, the side effect of adding this test case is that the trunk branch would need to retain all old versions for testing, including upgrade-system-tests and distributions. We don't add such test case for consumer upgrades ( [consumer_protocol_migration_test.py](https://github.com/apache/kafka/blob/trunk/tests/kafkatest/tests/client/consumer_protocol_migration_test.py#L22)). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
