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/08 17:08:54 UTC
(pulsar) branch master updated: [fix][test] Drop lookup probe in ExtensibleLoadManagerTest.startBroker to avoid channel-startup race (#25715)
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 1953b9e0648 [fix][test] Drop lookup probe in ExtensibleLoadManagerTest.startBroker to avoid channel-startup race (#25715)
1953b9e0648 is described below
commit 1953b9e06483450211f993ea13ab3df241a057f0
Author: Matteo Merli <mm...@apache.org>
AuthorDate: Fri May 8 10:08:46 2026 -0700
[fix][test] Drop lookup probe in ExtensibleLoadManagerTest.startBroker to avoid channel-startup race (#25715)
---
.../integration/loadbalance/ExtensibleLoadManagerTest.java | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
index fa0ba2ef9b1..95cb09fca1b 100644
--- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
+++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/loadbalance/ExtensibleLoadManagerTest.java
@@ -143,10 +143,13 @@ public class ExtensibleLoadManagerTest extends TestRetrySupport {
brokerContainer.start();
}
});
- String topicName = "persistent://" + DEFAULT_NAMESPACE + "/startBrokerCheck";
// Build admin clients once and reuse across poll iterations to avoid the per-tick
// connection churn (3 brokers x N polls of admin builder/close). Connection setup
// contends with brokers that are still warming up after a stop/restart.
+ // We only check getActiveBrokers and intentionally avoid a topic lookup probe: the broker
+ // accepts HTTP requests before ServiceUnitStateChannel reaches Started, and a lookup in that
+ // window fails fast with "Invalid channel state:LeaderElectionServiceStarted", which would
+ // make this poll loop spin without ever giving the channel time to finish starting.
List<BrokerContainer> brokers = new ArrayList<>(pulsarCluster.getBrokers());
List<PulsarAdmin> brokerAdmins = new ArrayList<>(brokers.size());
try {
@@ -167,12 +170,6 @@ public class ExtensibleLoadManagerTest extends TestRetrySupport {
.log("Broker does not see active brokers yet");
return false;
}
- try {
- brokerAdmin.topics().createPartitionedTopic(topicName, 10);
- } catch (PulsarAdminException.ConflictException e) {
- // expected - topic already exists
- }
- brokerAdmin.lookups().lookupPartitionedTopic(topicName);
} catch (Exception e) {
log.warn()
.attr("broker", brokerContainer.getHostName())