From c7ef80bb6c25efbc59c1df8de370d4f893cd8a3b Mon Sep 17 00:00:00 2001 From: Kirk True Date: Wed, 3 Apr 2024 10:13:26 -0700 Subject: [PATCH] =?UTF-8?q?KAFKA-16439:=20Update=20replication=5Freplica?= =?UTF-8?q?=5Ffailure=5Ftest.py=20to=20support=20KIP-848=E2=80=99s=20group?= =?UTF-8?q?=20protocol=20config=20(#15629)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added a new optional group_protocol parameter to the test methods, then passed that down to the setup_consumer method. Unfortunately, because the new consumer can only be used with the new coordinator, this required a new @matrix block instead of adding the group_protocol=["classic", "consumer"] to the existing blocks 😢 Reviewers: Walker Carlson --- .../tests/core/replication_replica_failure_test.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/kafkatest/tests/core/replication_replica_failure_test.py b/tests/kafkatest/tests/core/replication_replica_failure_test.py index 66cd1ecac1d..f17f6a2d26c 100644 --- a/tests/kafkatest/tests/core/replication_replica_failure_test.py +++ b/tests/kafkatest/tests/core/replication_replica_failure_test.py @@ -20,7 +20,7 @@ from ducktape.mark import matrix from ducktape.mark import parametrize from ducktape.mark.resource import cluster -from kafkatest.services.kafka import quorum +from kafkatest.services.kafka import quorum, consumer_group from kafkatest.tests.end_to_end import EndToEndTest from kafkatest.services.kafka import config_property from kafkatest.services.trogdor.network_partition_fault_spec import NetworkPartitionFaultSpec @@ -38,14 +38,15 @@ class ReplicationReplicaFailureTest(EndToEndTest): @cluster(num_nodes=7) @matrix( - metadata_quorum=[quorum.zk], + metadata_quorum=[quorum.zk, quorum.isolated_kraft], use_new_coordinator=[False] ) @matrix( metadata_quorum=[quorum.isolated_kraft], - use_new_coordinator=[True, False] + use_new_coordinator=[True], + group_protocol=consumer_group.all_group_protocols ) - def test_replication_with_replica_failure(self, metadata_quorum=quorum.zk, use_new_coordinator=False): + def test_replication_with_replica_failure(self, metadata_quorum=quorum.zk, use_new_coordinator=False, group_protocol=None): """ This test verifies that replication shrinks the ISR when a replica is not fetching anymore. It also verifies that replication provides simple durability guarantees by checking that data acked by @@ -90,7 +91,7 @@ class ReplicationReplicaFailureTest(EndToEndTest): self.create_producer() self.producer.start() - self.create_consumer() + self.create_consumer(group_protocol=group_protocol) self.consumer.start() self.await_startup()