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

zouxinyi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 96d614fc2ed [fix](arrow-flight-sql) Fix return result from FE Arrow 
Flight server error `0.0.0.0:xxx, connection refused` (#40002)
96d614fc2ed is described below

commit 96d614fc2ed6cf8cda6bd6804951413366813085
Author: Xinyi Zou <zouxiny...@gmail.com>
AuthorDate: Sun Sep 1 22:29:57 2024 +0800

    [fix](arrow-flight-sql) Fix return result from FE Arrow Flight server error 
`0.0.0.0:xxx, connection refused` (#40002)
    
    Fix: #36340
    Introduced in: #34850
    
    ```
    adbc_driver_manager.OperationalError: IO: [FlightSQL] connection error: 
desc = "transport: Error while dialing: dial tcp 0.0.0.0:8029: connect: 
connection refused" (Unavailable; DoGet: endpoint 0: 
[uri:"grpc+tcp://0.0.0.0:8029"])
    ```
    
    When query results are returned from FE Arrow Flight server, and Doris
    FE and ADBC ​​Client are not on the same machine, such as `show
    tables;`, `show databases;`, the IP in FlightInfo returned by FE to the
    client is wrong, and `0.0.0.0` is returned instead of the real IP of FE.
    The client fails to pull the results from `0.0.0.0`.
    
    No problem when query results are returned from BE Arrow Flight server,
    such as the normal query statement `select * from xxx`.
---
 .../apache/doris/service/arrowflight/DorisFlightSqlService.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlService.java
 
b/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlService.java
index df9099c6816..b83936dab3b 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlService.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlService.java
@@ -18,6 +18,7 @@
 package org.apache.doris.service.arrowflight;
 
 import org.apache.doris.common.Config;
+import org.apache.doris.service.FrontendOptions;
 import 
org.apache.doris.service.arrowflight.auth2.FlightBearerTokenAuthenticator;
 import org.apache.doris.service.arrowflight.sessions.FlightSessionsManager;
 import 
org.apache.doris.service.arrowflight.sessions.FlightSessionsWithTokenManager;
@@ -45,7 +46,6 @@ public class DorisFlightSqlService {
 
     public DorisFlightSqlService(int port) {
         BufferAllocator allocator = new RootAllocator();
-        Location location = Location.forGrpcInsecure("0.0.0.0", port);
         // arrow_flight_token_cache_size less than qe_max_connection to avoid 
`Reach limit of connections`.
         // arrow flight sql is a stateless protocol, connection is usually not 
actively disconnected.
         // bearer token is evict from the cache will unregister ConnectContext.
@@ -54,8 +54,9 @@ public class DorisFlightSqlService {
                 Config.arrow_flight_token_alive_time);
         this.flightSessionsManager = new 
FlightSessionsWithTokenManager(flightTokenManager);
 
-        DorisFlightSqlProducer producer = new DorisFlightSqlProducer(location, 
flightSessionsManager);
-        flightServer = FlightServer.builder(allocator, location, producer)
+        DorisFlightSqlProducer producer = new DorisFlightSqlProducer(
+                
Location.forGrpcInsecure(FrontendOptions.getLocalHostAddress(), port), 
flightSessionsManager);
+        flightServer = FlightServer.builder(allocator, 
Location.forGrpcInsecure("0.0.0.0", port), producer)
                 .headerAuthenticator(new 
FlightBearerTokenAuthenticator(flightTokenManager)).build();
         LOG.info("Arrow Flight SQL service is created, port: {}, 
token_cache_size: {}"
                         + ", qe_max_connection: {}, token_alive_time: {}",


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to