lianetm commented on code in PR #15738: URL: https://github.com/apache/kafka/pull/15738#discussion_r1568061403
########## tests/kafkatest/tests/client/consumer_test.py: ########## @@ -348,13 +348,32 @@ def test_fencing_static_consumer(self, num_conflict_consumers, fencing_stage, me consumer.start() self.await_members(consumer, len(consumer.nodes)) + num_rebalances = consumer.num_rebalances() conflict_consumer.start() - self.await_members(conflict_consumer, num_conflict_consumers) - self.await_members(consumer, len(consumer.nodes) - num_conflict_consumers) + if group_protocol == consumer_group.classic_group_protocol: + # Classic protocol: conflicting members should join, and the intial ones with conflicting instance id should fail. + self.await_members(conflict_consumer, num_conflict_consumers) + self.await_members(consumer, len(consumer.nodes) - num_conflict_consumers) - wait_until(lambda: len(consumer.dead_nodes()) == num_conflict_consumers, + wait_until(lambda: len(consumer.dead_nodes()) == num_conflict_consumers, timeout_sec=10, err_msg="Timed out waiting for the fenced consumers to stop") + else: + # Consumer protocol: Existing members should remain active and new conflicting ones should not be able to join. + self.await_consumed_messages(consumer) + assert num_rebalances == consumer.num_rebalances(), "Static consumers attempt to join with instance id in use should not cause a rebalance" + assert len(consumer.joined_nodes()) == len(consumer.nodes) + assert len(conflict_consumer.joined_nodes()) == 0 Review Comment: There should be no timing issues as I see it. For the `consumer.joined_nodes` there is a previous `self.await_members`, that ensures that we wait for the time needed for all the nodes to join. As for the `conflict_consumer.joined_nodes()`, its for nodes that never joined, we're just asserting that after the non-conflicting remained without rebalance, consuming (ensuring activity), the conflicting ones did not join. Makes sense? -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org