This is an automated email from the ASF dual-hosted git repository.

merlimat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new f84bc3867f8 [fix][test] Fix flaky AdminApiOffloadTest.testOffload 
status race (#25674)
f84bc3867f8 is described below

commit f84bc3867f8da761c2334c517b79196c04bb063f
Author: Matteo Merli <[email protected]>
AuthorDate: Tue May 5 14:53:08 2026 -0700

    [fix][test] Fix flaky AdminApiOffloadTest.testOffload status race (#25674)
---
 .../org/apache/pulsar/broker/admin/AdminApiOffloadTest.java    | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiOffloadTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiOffloadTest.java
index a98389d54c3..4b4eb2ff4fe 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiOffloadTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiOffloadTest.java
@@ -166,9 +166,13 @@ public class AdminApiOffloadTest extends 
MockedPulsarServiceBaseTest {
         // fail first time
         promise.completeExceptionally(new Exception("Some random failure"));
 
-        assertEquals(admin.topics().offloadStatus(topicName).getStatus(),
-                            LongRunningProcessStatus.Status.ERROR);
-        
Assert.assertTrue(admin.topics().offloadStatus(topicName).getLastError().contains("Some
 random failure"));
+        // The failure handler runs asynchronously after the promise 
completes, so the
+        // offloadStatus may briefly still report RUNNING before transitioning 
to ERROR.
+        Awaitility.await().untilAsserted(() -> {
+            var status = admin.topics().offloadStatus(topicName);
+            assertEquals(status.getStatus(), 
LongRunningProcessStatus.Status.ERROR);
+            Assert.assertTrue(status.getLastError().contains("Some random 
failure"));
+        });
 
         // Try again
         doReturn(CompletableFuture.completedFuture(null))

Reply via email to