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 d69c78753c5 [fix][test] Fix flaky
ExtensibleLoadManagerImplTest.testLoadBalancerServiceUnitTableViewSyncer
(#25596)
d69c78753c5 is described below
commit d69c78753c5f3747e8d961ee9ba3a419f9c9d8af
Author: Matteo Merli <[email protected]>
AuthorDate: Tue Apr 28 10:47:45 2026 -0700
[fix][test] Fix flaky
ExtensibleLoadManagerImplTest.testLoadBalancerServiceUnitTableViewSyncer
(#25596)
---
.../extensions/ExtensibleLoadManagerImplTest.java | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/ExtensibleLoadManagerImplTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/ExtensibleLoadManagerImplTest.java
index 4aa3c3ad7a8..35459a25230 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/ExtensibleLoadManagerImplTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/ExtensibleLoadManagerImplTest.java
@@ -1376,10 +1376,15 @@ public class ExtensibleLoadManagerImplTest extends
ExtensibleLoadManagerImplBase
assertTrue(pulsar2.getConfiguration().isLoadBalancerServiceUnitTableViewSyncerEnabled()));
makeSecondaryAsLeader();
makePrimaryAsLeader();
- Awaitility.await().atMost(30, TimeUnit.SECONDS)
+ // playLeader()/playFollower() run on a single-threaded
loadManagerExecutor, so
+ // playLeader() on the new leader can be queued behind a still-running
playFollower()
+ // from the prior demotion. Under CI load this serial chain plus the
syncer.start()
+ // work (which opens both table views and runs
syncExistingItems/syncTailItems)
+ // can take longer than 30s, so use a more generous timeout here.
+ Awaitility.await().atMost(60, TimeUnit.SECONDS)
.untilAsserted(() ->
assertTrue(primaryLoadManager.getServiceUnitStateTableViewSyncer()
.isActive()));
- Awaitility.await().atMost(30, TimeUnit.SECONDS)
+ Awaitility.await().atMost(60, TimeUnit.SECONDS)
.untilAsserted(() ->
assertFalse(secondaryLoadManager.getServiceUnitStateTableViewSyncer()
.isActive()));
ServiceConfiguration defaultConf = getDefaultConf();
@@ -1590,10 +1595,10 @@ public class ExtensibleLoadManagerImplTest extends
ExtensibleLoadManagerImplBase
Awaitility.await().untilAsserted(() ->
assertFalse(pulsar2.getConfiguration().isLoadBalancerServiceUnitTableViewSyncerEnabled()));
makeSecondaryAsLeader();
- Awaitility.await().atMost(30, TimeUnit.SECONDS)
+ Awaitility.await().atMost(60, TimeUnit.SECONDS)
.untilAsserted(() ->
assertFalse(primaryLoadManager.getServiceUnitStateTableViewSyncer()
.isActive()));
- Awaitility.await().atMost(30, TimeUnit.SECONDS)
+ Awaitility.await().atMost(60, TimeUnit.SECONDS)
.untilAsserted(() ->
assertFalse(secondaryLoadManager.getServiceUnitStateTableViewSyncer()
.isActive()));
}