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))