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:08:58 UTC

(pulsar) branch branch-3.3 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.3
in repository https://gitbox.apache.org/repos/asf/pulsar.git


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

commit 5835af4df4bbe2e087281f73253bc26a620ef6aa
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 16fdb0dcfe4..a6c574e8fa1 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
@@ -177,7 +177,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 5cf01d6668b..174faa21732 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
@@ -178,7 +178,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);