This is an automated email from the ASF dual-hosted git repository. penghui pushed a commit to branch branch-2.10 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 73cfe5e81e0f9162394ce9be7eb5250041d3ea8a Author: Hang Chen <[email protected]> AuthorDate: Wed Jul 27 10:28:37 2022 +0800 [fix][client]Fix auto cluster failover can't resolve host bug (#16152) (cherry picked from commit dda81afe45fea2d8dd16eaaa5d1f729e50ac79a4) --- .../main/java/org/apache/pulsar/client/impl/AutoClusterFailover.java | 4 +++- .../java/org/apache/pulsar/client/impl/AutoClusterFailoverTest.java | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/AutoClusterFailover.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/AutoClusterFailover.java index baccc29e7da..1f34de71979 100644 --- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/AutoClusterFailover.java +++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/AutoClusterFailover.java @@ -22,6 +22,7 @@ import static org.apache.pulsar.common.util.Runnables.catchingAndLoggingThrowabl import com.google.common.base.Strings; import io.netty.util.concurrent.DefaultThreadFactory; import java.io.IOException; +import java.net.InetSocketAddress; import java.net.Socket; import java.util.List; import java.util.Map; @@ -126,8 +127,9 @@ public class AutoClusterFailover implements ServiceUrlProvider { boolean probeAvailable(String url) { try { resolver.updateServiceUrl(url); + InetSocketAddress endpoint = resolver.resolveHost(); Socket socket = new Socket(); - socket.connect(resolver.resolveHost(), TIMEOUT); + socket.connect(new InetSocketAddress(endpoint.getHostName(), endpoint.getPort()), TIMEOUT); socket.close(); return true; } catch (Exception e) { diff --git a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/AutoClusterFailoverTest.java b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/AutoClusterFailoverTest.java index 0469bd4fe15..6f8acf5df80 100644 --- a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/AutoClusterFailoverTest.java +++ b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/AutoClusterFailoverTest.java @@ -23,6 +23,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; +import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.client.api.Authentication; import org.apache.pulsar.client.api.AuthenticationFactory; import org.apache.pulsar.client.api.PulsarClientException; @@ -37,6 +38,7 @@ import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; @Test(groups = "broker-impl") +@Slf4j public class AutoClusterFailoverTest { @Test public void testBuildAutoClusterFailoverInstance() throws PulsarClientException {
