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)

Reply via email to