This is an automated email from the ASF dual-hosted git repository.
zixuan 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 1db61ac5181 [improve][broker] Enhance advertised address resolution
with fallback to localhost (#25238)
1db61ac5181 is described below
commit 1db61ac518182300e96b4b759f493bd09b0d3f53
Author: Zixuan Liu <[email protected]>
AuthorDate: Thu Feb 12 10:58:45 2026 +0800
[improve][broker] Enhance advertised address resolution with fallback to
localhost (#25238)
---
.../src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java | 9 +++++++--
.../org/apache/pulsar/tests/integration/PulsarContainer.java | 2 +-
.../org/apache/pulsar/tests/integration/PulsarContainer.java | 2 +-
.../org/apache/pulsar/tests/integration/PulsarContainer.java | 2 +-
.../pulsar/tests/integration/containers/StandaloneContainer.java | 2 +-
.../org/apache/pulsar/tests/integration/PulsarContainer.java | 2 +-
.../org/apache/pulsar/tests/integration/PulsarContainer.java | 2 +-
.../org/apache/pulsar/tests/integration/PulsarContainer.java | 2 +-
8 files changed, 14 insertions(+), 9 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
index 29feac8cb46..411449d1042 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/PulsarStandaloneStarter.java
@@ -29,6 +29,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.pulsar.broker.ServiceConfiguration;
+import org.apache.pulsar.broker.ServiceConfigurationUtils;
import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
import org.apache.pulsar.docs.tools.CmdGenerateDocs;
import picocli.CommandLine;
@@ -91,8 +92,12 @@ public class PulsarStandaloneStarter extends
PulsarStandalone {
// Use advertised address from command line
config.setAdvertisedAddress(this.getAdvertisedAddress());
} else if (isBlank(config.getAdvertisedAddress()) &&
isBlank(config.getAdvertisedListeners())) {
- // Use advertised address as local hostname
- config.setAdvertisedAddress("localhost");
+ try {
+
config.setAdvertisedAddress(ServiceConfigurationUtils.unsafeLocalhostResolve());
+ } catch (Exception e) {
+ log.warn("Failed to resolve FQDN, using 'localhost' as
advertised address", e);
+ config.setAdvertisedAddress("localhost");
+ }
} else {
// Use advertised or advertisedListeners address from config file
}
diff --git
a/tests/bc_2_0_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
b/tests/bc_2_0_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
index 8c20c23543e..a6adaaf410e 100644
---
a/tests/bc_2_0_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
+++
b/tests/bc_2_0_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
@@ -37,7 +37,7 @@ public class PulsarContainer extends
GenericContainer<PulsarContainer> {
public PulsarContainer(final String pulsarVersion) {
super(pulsarVersion);
withExposedPorts(BROKER_HTTP_PORT, PULSAR_PORT);
- withCommand("/pulsar/bin/pulsar standalone");
+ withCommand("/pulsar/bin/pulsar standalone --advertised-address
localhost");
waitingFor(new HttpWaitStrategy()
.forPort(BROKER_HTTP_PORT)
.forStatusCode(200)
diff --git
a/tests/bc_2_0_1/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
b/tests/bc_2_0_1/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
index 8c20c23543e..a6adaaf410e 100644
---
a/tests/bc_2_0_1/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
+++
b/tests/bc_2_0_1/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
@@ -37,7 +37,7 @@ public class PulsarContainer extends
GenericContainer<PulsarContainer> {
public PulsarContainer(final String pulsarVersion) {
super(pulsarVersion);
withExposedPorts(BROKER_HTTP_PORT, PULSAR_PORT);
- withCommand("/pulsar/bin/pulsar standalone");
+ withCommand("/pulsar/bin/pulsar standalone --advertised-address
localhost");
waitingFor(new HttpWaitStrategy()
.forPort(BROKER_HTTP_PORT)
.forStatusCode(200)
diff --git
a/tests/bc_2_6_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
b/tests/bc_2_6_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
index 8c20c23543e..a6adaaf410e 100644
---
a/tests/bc_2_6_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
+++
b/tests/bc_2_6_0/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
@@ -37,7 +37,7 @@ public class PulsarContainer extends
GenericContainer<PulsarContainer> {
public PulsarContainer(final String pulsarVersion) {
super(pulsarVersion);
withExposedPorts(BROKER_HTTP_PORT, PULSAR_PORT);
- withCommand("/pulsar/bin/pulsar standalone");
+ withCommand("/pulsar/bin/pulsar standalone --advertised-address
localhost");
waitingFor(new HttpWaitStrategy()
.forPort(BROKER_HTTP_PORT)
.forStatusCode(200)
diff --git
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/StandaloneContainer.java
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/StandaloneContainer.java
index 7e0b347640d..3bee66adaec 100644
---
a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/StandaloneContainer.java
+++
b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/StandaloneContainer.java
@@ -52,7 +52,7 @@ public class StandaloneContainer extends
PulsarContainer<StandaloneContainer> {
@Override
protected void configure() {
super.configure();
- setCommand("standalone");
+ setCommand("standalone --advertised-address localhost");
addEnv("PULSAR_MEM", "-Xms128M -Xmx1g -XX:MaxDirectMemorySize=1g");
}
diff --git
a/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
b/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
index 365b4cca815..c945fc369a9 100644
---
a/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
+++
b/tests/pulsar-client-admin-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
@@ -37,7 +37,7 @@ public class PulsarContainer extends
GenericContainer<PulsarContainer> {
public PulsarContainer(final String pulsarVersion) {
super(pulsarVersion);
withExposedPorts(BROKER_HTTP_PORT, PULSAR_PORT);
- withCommand("/pulsar/bin/pulsar standalone");
+ withCommand("/pulsar/bin/pulsar standalone --advertised-address
localhost");
waitingFor(new HttpWaitStrategy()
.forPort(BROKER_HTTP_PORT)
.forStatusCode(200)
diff --git
a/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
b/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
index 365b4cca815..c945fc369a9 100644
---
a/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
+++
b/tests/pulsar-client-all-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
@@ -37,7 +37,7 @@ public class PulsarContainer extends
GenericContainer<PulsarContainer> {
public PulsarContainer(final String pulsarVersion) {
super(pulsarVersion);
withExposedPorts(BROKER_HTTP_PORT, PULSAR_PORT);
- withCommand("/pulsar/bin/pulsar standalone");
+ withCommand("/pulsar/bin/pulsar standalone --advertised-address
localhost");
waitingFor(new HttpWaitStrategy()
.forPort(BROKER_HTTP_PORT)
.forStatusCode(200)
diff --git
a/tests/pulsar-client-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
b/tests/pulsar-client-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
index 365b4cca815..c945fc369a9 100644
---
a/tests/pulsar-client-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
+++
b/tests/pulsar-client-shade-test/src/test/java/org/apache/pulsar/tests/integration/PulsarContainer.java
@@ -37,7 +37,7 @@ public class PulsarContainer extends
GenericContainer<PulsarContainer> {
public PulsarContainer(final String pulsarVersion) {
super(pulsarVersion);
withExposedPorts(BROKER_HTTP_PORT, PULSAR_PORT);
- withCommand("/pulsar/bin/pulsar standalone");
+ withCommand("/pulsar/bin/pulsar standalone --advertised-address
localhost");
waitingFor(new HttpWaitStrategy()
.forPort(BROKER_HTTP_PORT)
.forStatusCode(200)