From d40736d236ec4b3ab807a7c16d789ecca14d1560 Mon Sep 17 00:00:00 2001 From: Andrew Schofield Date: Tue, 7 Apr 2026 21:09:02 +0100 Subject: [PATCH] MINOR: Flaky test fixes --- .../kafka/clients/consumer/internals/ShareConsumerImpl.java | 4 +++- .../apache/kafka/tools/LeaderElectionCommandErrorTest.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumerImpl.java b/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumerImpl.java index 7504eecf5bd45..2e959ac2f617a 100644 --- a/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumerImpl.java +++ b/clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumerImpl.java @@ -61,6 +61,7 @@ import org.apache.kafka.common.errors.InvalidTopicException; import org.apache.kafka.common.errors.TimeoutException; import org.apache.kafka.common.errors.TopicAuthorizationException; +import org.apache.kafka.common.errors.UnknownServerException; import org.apache.kafka.common.internals.ClusterResourceListeners; import org.apache.kafka.common.metrics.KafkaMetric; import org.apache.kafka.common.metrics.Metrics; @@ -1265,7 +1266,8 @@ void processBackgroundEventsOnClose() { try { processBackgroundEvents(); } catch (Exception e) { - if (!(e instanceof GroupAuthorizationException || e instanceof TopicAuthorizationException || e instanceof InvalidTopicException)) + if (!(e instanceof GroupAuthorizationException || e instanceof TopicAuthorizationException + || e instanceof InvalidTopicException || e instanceof UnknownServerException)) throw e; } } diff --git a/tools/src/test/java/org/apache/kafka/tools/LeaderElectionCommandErrorTest.java b/tools/src/test/java/org/apache/kafka/tools/LeaderElectionCommandErrorTest.java index 46942be75f36e..a80a781158c00 100644 --- a/tools/src/test/java/org/apache/kafka/tools/LeaderElectionCommandErrorTest.java +++ b/tools/src/test/java/org/apache/kafka/tools/LeaderElectionCommandErrorTest.java @@ -88,9 +88,11 @@ public void testMissingTopicPartitionSelection() { @Test public void testInvalidBroker() { + // Use RFC 5737 TEST-NET-1 (192.0.2.0/24) - a non-routable address reserved for + // documentation and testing. This address guarantees a connection timeout. Throwable e = assertThrows(AdminCommandFailedException.class, () -> LeaderElectionCommand.run( Duration.ofSeconds(1), - "--bootstrap-server", "example.com:1234", + "--bootstrap-server", "192.0.2.1:9092", "--election-type", "unclean", "--all-topic-partitions" ));