This is an automated email from the ASF dual-hosted git repository.

technoboy pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new c5b4af3d38c [fix][test] Fix LocalBookkeeperEnsemble resource leak in 
tests (#21407)
c5b4af3d38c is described below

commit c5b4af3d38cb4e89a9a6eb926c6cf32d3b89cab9
Author: Lari Hotari <[email protected]>
AuthorDate: Mon Oct 23 15:05:18 2023 +0300

    [fix][test] Fix LocalBookkeeperEnsemble resource leak in tests (#21407)
---
 .../pulsar/zookeeper/LocalBookkeeperEnsemble.java    | 10 ++++++----
 .../zookeeper/LocalBookkeeperEnsembleTest.java       | 20 --------------------
 2 files changed, 6 insertions(+), 24 deletions(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
index d73d1d7ed6b..63d146a3a15 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsemble.java
@@ -52,7 +52,6 @@ import 
org.apache.bookkeeper.clients.config.StorageClientSettings;
 import org.apache.bookkeeper.clients.exceptions.NamespaceExistsException;
 import org.apache.bookkeeper.clients.exceptions.NamespaceNotFoundException;
 import org.apache.bookkeeper.common.allocator.PoolingPolicy;
-import org.apache.bookkeeper.common.component.ComponentStarter;
 import org.apache.bookkeeper.common.component.LifecycleComponent;
 import org.apache.bookkeeper.common.component.LifecycleComponentStack;
 import org.apache.bookkeeper.common.concurrent.FutureUtils;
@@ -132,7 +131,7 @@ public class LocalBookkeeperEnsemble {
                                    boolean clearOldData,
                                    String advertisedAddress) {
         this(numberOfBookies, zkPort, streamStoragePort, zkDataDirName, 
bkDataDirName, clearOldData, advertisedAddress,
-                new BasePortManager(bkBasePort));
+                bkBasePort != 0 ? new BasePortManager(bkBasePort) : () -> 0);
     }
 
     public LocalBookkeeperEnsemble(int numberOfBookies,
@@ -311,6 +310,7 @@ public class LocalBookkeeperEnsemble {
             bsConfs[i] = new ServerConfiguration(baseConf);
             // override settings
             bsConfs[i].setBookiePort(bookiePort);
+            bsConfs[i].setBookieId("bk" + i + "test");
             String zkServers = "127.0.0.1:" + zkPort;
             String metadataServiceUriStr = "zk://" + zkServers + "/ledgers";
 
@@ -455,8 +455,10 @@ public class LocalBookkeeperEnsemble {
         try {
             bookieComponents[i] = org.apache.bookkeeper.server.Main
                     .buildBookieServer(new BookieConfiguration(bsConfs[i]));
-            ComponentStarter.startComponent(bookieComponents[i]);
+            bookieComponents[i].start();
         } catch (BookieException.InvalidCookieException ice) {
+            LOG.warn("Invalid cookie found for bookie {}", i, ice);
+
             // InvalidCookieException can happen if the machine IP has changed
             // Since we are running here a local bookie that is always accessed
             // from localhost, we can ignore the error
@@ -473,7 +475,7 @@ public class LocalBookkeeperEnsemble {
 
             bookieComponents[i] = org.apache.bookkeeper.server.Main
                     .buildBookieServer(new BookieConfiguration(bsConfs[i]));
-            ComponentStarter.startComponent(bookieComponents[i]);
+            bookieComponents[i].start();
         }
 
 
diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsembleTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsembleTest.java
index 92899feda73..a4bc69a7266 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsembleTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/zookeeper/LocalBookkeeperEnsembleTest.java
@@ -21,10 +21,6 @@ package org.apache.pulsar.zookeeper;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertTrue;
-
-import java.util.Collections;
-import java.util.List;
-
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -39,22 +35,6 @@ public class LocalBookkeeperEnsembleTest {
     void teardown() throws Exception {
     }
 
-    @Test
-    public void testAdvertisedAddress() throws Exception {
-        final int numBk = 1;
-
-        LocalBookkeeperEnsemble ensemble = new LocalBookkeeperEnsemble(
-            numBk, 0, 0, null, null, true, "127.0.0.2");
-        ensemble.startStandalone();
-
-        List<String> bookies = 
ensemble.getZkClient().getChildren("/ledgers/available", false);
-        Collections.sort(bookies);
-        assertEquals(bookies.size(), 2);
-        assertTrue(bookies.get(0).startsWith("127.0.0.2:"));
-
-        ensemble.stop();
-    }
-
     @Test
     public void testStartStop() throws Exception {
 

Reply via email to