You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2024/11/14 17:10:29 UTC

(pulsar) branch branch-3.0 updated: Enabling DNS retryOnTimeout with TCP in DnsNameResolver (#23590)

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

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


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 3173b3f05f2 Enabling DNS retryOnTimeout with TCP in DnsNameResolver (#23590)
3173b3f05f2 is described below

commit 3173b3f05f26c8bd0da86a4e9e980b65959e7588
Author: grayson <91...@qq.com>
AuthorDate: Thu Nov 14 05:07:01 2024 +0800

    Enabling DNS retryOnTimeout with TCP in DnsNameResolver (#23590)
    
    (cherry picked from commit 5d924bfb451bccdad0c1dc9a22c6dde49d65a47d)
---
 .../src/main/java/org/apache/pulsar/client/impl/ConnectionPool.java   | 4 +++-
 .../src/main/java/org/apache/pulsar/proxy/server/ProxyService.java    | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConnectionPool.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConnectionPool.java
index fbacd9496c2..2c102b36482 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConnectionPool.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConnectionPool.java
@@ -150,7 +150,9 @@ public class ConnectionPool implements AutoCloseable {
     private static AddressResolver<InetSocketAddress> createAddressResolver(ClientConfigurationData conf,
                                                                             EventLoopGroup eventLoopGroup) {
         DnsNameResolverBuilder dnsNameResolverBuilder = new DnsNameResolverBuilder()
-                .traceEnabled(true).channelType(EventLoopUtil.getDatagramChannelClass(eventLoopGroup));
+                .traceEnabled(true)
+                .channelType(EventLoopUtil.getDatagramChannelClass(eventLoopGroup))
+                .socketChannelType(EventLoopUtil.getClientSocketChannelClass(eventLoopGroup), true);
         if (conf.getDnsLookupBindAddress() != null) {
             InetSocketAddress addr = new InetSocketAddress(conf.getDnsLookupBindAddress(),
                     conf.getDnsLookupBindPort());
diff --git a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
index 6ee9f5bcdfd..1acc34f12f4 100644
--- a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
+++ b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyService.java
@@ -172,7 +172,8 @@ public class ProxyService implements Closeable {
         this.authenticationService = authenticationService;
 
         DnsNameResolverBuilder dnsNameResolverBuilder = new DnsNameResolverBuilder()
-                .channelType(EventLoopUtil.getDatagramChannelClass(workerGroup));
+                .channelType(EventLoopUtil.getDatagramChannelClass(workerGroup))
+                .socketChannelType(EventLoopUtil.getClientSocketChannelClass(workerGroup), true);
         DnsResolverUtil.applyJdkDnsCacheSettings(dnsNameResolverBuilder);
 
         dnsAddressResolverGroup = new DnsAddressResolverGroup(dnsNameResolverBuilder);