Copilot commented on code in PR #23413:
URL: https://github.com/apache/kafka/pull/23413#discussion_r3971560629
##########
tests/kafkatest/tests/streams/streams_smoke_test.py:
##########
@@ -122,3 +123,45 @@ def test_streams(self, processing_guarantee, crash,
metadata_quorum, group_proto
processor3.stop()
self.driver.node.account.ssh("grep SUCCESS %s" %
self.driver.STDOUT_FILE, allow_fail=False)
+
+ @cluster(num_nodes=5)
+ @matrix(metadata_quorum=[quorum.combined_kraft])
+ def test_old_client_not_solicited_for_topology_push(self, metadata_quorum):
+ """
+ Test the situation when a pre-KIP-1331 Kafka Streams client uses the
streams group
+ protocol against a broker on this branch with the topology description
plugin configured
+ (the default broker setup from BaseStreamsTest). StreamsGroupHeartbeat
negotiates down to
+ version 0 for this client, so the broker must never solicit a topology
description push
+ for it.
+ """
+ processor = StreamsSmokeTestJobRunnerService(self.test_context,
self.kafka, 'at_least_once', 'streams')
+ processor.set_version(str(LATEST_4_3))
+
+ broker_node = self.kafka.nodes[0]
Review Comment:
This only checks broker 0, but `BaseStreamsTest` starts three brokers
(`base_streams_test.py:32,39-40`) and the heartbeat is processed by the broker
leading this group's `__consumer_offsets` partition. If another broker is the
coordinator, the assertion remains zero even when that broker incorrectly
solicits a push, so this compatibility test can pass vacuously. Aggregate this
log count across every node in `self.kafka.nodes`.
--
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]