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 {