From 36ed2cecc505498e9411c029dc6fbe23365e88e3 Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Fri, 21 Feb 2025 11:09:09 -0500 Subject: [PATCH] Fixing race condition in MicrometerMetricsTests --- .../micrometer/MicrometerMetricsTests.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/spring-kafka/src/test/java/org/springframework/kafka/support/micrometer/MicrometerMetricsTests.java b/spring-kafka/src/test/java/org/springframework/kafka/support/micrometer/MicrometerMetricsTests.java index 3e7c61d465..3da236b77e 100644 --- a/spring-kafka/src/test/java/org/springframework/kafka/support/micrometer/MicrometerMetricsTests.java +++ b/spring-kafka/src/test/java/org/springframework/kafka/support/micrometer/MicrometerMetricsTests.java @@ -45,6 +45,7 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import static org.assertj.core.api.Assertions.assertThat; +import static org.awaitility.Awaitility.await; /** * @author Soby Chacko @@ -66,14 +67,16 @@ void verifyMetricsWithoutObservation(@Autowired MetricsListener listener, template.send(METRICS_TEST_TOPIC, "test").get(10, TimeUnit.SECONDS); assertThat(listener.latch.await(10, TimeUnit.SECONDS)).isTrue(); - Timer timer = meterRegistry.find("spring.kafka.listener") - .tags("name", "metricsTest-0") - .tag("result", "failure") - .timer(); + await().untilAsserted(() -> { + Timer timer = meterRegistry.find("spring.kafka.listener") + .tags("name", "metricsTest-0") + .tag("result", "failure") + .timer(); - assertThat(timer).isNotNull(); - assertThat(timer.getId().getTag("exception")) - .isEqualTo("IllegalStateException"); + assertThat(timer).isNotNull(); + assertThat(timer.getId().getTag("exception")) + .isEqualTo("IllegalStateException"); + }); } @Test @@ -85,12 +88,14 @@ void verifyMetricsWithObservation(@Autowired ObservationListener observationList template.send(METRICS_TEST_TOPIC, "test").get(10, TimeUnit.SECONDS); assertThat(observationListener.latch.await(10, TimeUnit.SECONDS)).isTrue(); - Timer timer = meterRegistry.find("spring.kafka.listener") - .tag("spring.kafka.listener.id", "observationTest-0") - .tag("error", "IllegalStateException") - .timer(); + await().untilAsserted(() -> { + Timer timer = meterRegistry.find("spring.kafka.listener") + .tag("spring.kafka.listener.id", "observationTest-0") + .tag("error", "IllegalStateException") + .timer(); - assertThat(timer).isNotNull(); + assertThat(timer).isNotNull(); + }); } @Configuration