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]

Reply via email to