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 <[email protected]>
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())

Reply via email to