You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2026/05/05 21:53:14 UTC
(pulsar) branch master updated: [fix][test] Fix flaky AdminApiOffloadTest.testOffload status race (#25674)
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 <mm...@apache.org>
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))