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

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


The following commit(s) were added to refs/heads/branch-2.9 by this push:
     new 9955b0af970 [Proxy] Remove unnecessary blocking DNS lookup in 
LookupProxyHandler (#15415)
9955b0af970 is described below

commit 9955b0af970150a3b2cda1172458ad73ebb38580
Author: Lari Hotari <[email protected]>
AuthorDate: Tue May 3 22:49:43 2022 +0300

    [Proxy] Remove unnecessary blocking DNS lookup in LookupProxyHandler 
(#15415)
    
    * [Proxy] Remove unnecessary blocking DNS lookup in LookupProxyHandler
    
    * Use existing code pattern for creating address
    
    (cherry picked from commit 7373a51690d728475d47846bfbcca4fa64f2e228)
---
 .../pulsar/proxy/server/LookupProxyHandler.java      | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/LookupProxyHandler.java
 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/LookupProxyHandler.java
index 30e11a185a0..d9d208085fd 100644
--- 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/LookupProxyHandler.java
+++ 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/LookupProxyHandler.java
@@ -215,20 +215,16 @@ public class LookupProxyHandler {
     private void 
handlePartitionMetadataResponse(CommandPartitionedTopicMetadata 
partitionMetadata,
             long clientRequestId) {
         TopicName topicName = TopicName.get(partitionMetadata.getTopic());
-        URI brokerURI;
-        try {
-            String availableBrokerServiceURL = 
getBrokerServiceUrl(clientRequestId);
-            if (availableBrokerServiceURL == null) {
-                log.warn("No available broker for {} to lookup partition 
metadata", topicName);
-                return;
-            }
-            brokerURI = new URI(availableBrokerServiceURL);
-        } catch (URISyntaxException e) {
-            
proxyConnection.ctx().writeAndFlush(Commands.newPartitionMetadataResponse(ServerError.MetadataError,
-                    e.getMessage(), clientRequestId));
+
+        String serviceUrl = getBrokerServiceUrl(clientRequestId);
+        if (serviceUrl == null) {
+            log.warn("No available broker for {} to lookup partition 
metadata", topicName);
+            return;
+        }
+        InetSocketAddress addr = getAddr(serviceUrl, clientRequestId);
+        if (addr == null) {
             return;
         }
-        InetSocketAddress addr = new InetSocketAddress(brokerURI.getHost(), 
brokerURI.getPort());
 
         if (log.isDebugEnabled()) {
             log.debug("Getting connections to '{}' for Looking up topic '{}' 
with clientReq Id '{}'", addr,

Reply via email to