Skip to content

[Bug] transport: Error while dialing: dial tcp 0.0.0.0:9090 #36340

@zhaopinglu

Description

@zhaopinglu

Search before asking

  • I had searched in the issues and found no similar issues.

Version

Doris v 2.1.3

python package:
adbc-driver-flightsql 1.0.0
pydoris 1.0.5.3
pydoris-client 1.0.4

What's Wrong?

OperationalError: IO: [FlightSQL] connection error: desc = "transport: Error while dialing: dial tcp 0.0.0.0:9090: connectex: No connection could be made because the target machine actively refused it." (Unavailable; DoGet: endpoint 0: [uri:"grpc+tcp://0.0.0.0:9090"])

possible related issue:

fix Fix Arrow Flight bind wrong Host in Fqdn #34850

'### What You Expected?

'## 1

'##################
dbapi_adbc_execute_fetchallarrow, cost:0:00:00.033296, bytes:101, len(arrow_data):6
'## 2
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 1 columns):
'# Column Non-Null Count Dtype


0 Database 6 non-null object
dtypes: object(1)
memory usage: 547.0 bytes
None
'## 3
Database
0 __internal_schema
1 arrow_flight_sql
2 information_schema
3 mysql
4 pydoris_client_test

How to Reproduce?

Run python script remotely (not in the same vm as doris be'):

import adbc_driver_manager
import adbc_driver_flightsql.dbapi as flight_sql
import pandas
from datetime import datetime
#import pyarrow as pa
#import pyarrow.flight as fl


conn = flight_sql.connect(uri="grpc://x.x.x.x:9090", db_kwargs={
            adbc_driver_manager.DatabaseOptions.USERNAME.value: "root",
            adbc_driver_manager.DatabaseOptions.PASSWORD.value: ""
        },
        autocommit=False
)
cursor = conn.cursor()

#cursor.execute("DROP DATABASE IF EXISTS arrow_flight_sql FORCE;")
#cursor.execute("select now();")
cursor.execute("show databases;")

start_time = datetime.now()
arrow_data = cursor.fetchallarrow()
dataframe = arrow_data.to_pandas()

print("## 1")
print("\n##################\n dbapi_adbc_execute_fetchallarrow" +
      ", cost:" + str(datetime.now() - start_time) +
      ", bytes:" + str(arrow_data.nbytes) +
      ", len(arrow_data):" + str(len(arrow_data))
)
print("## 2")
print(dataframe.info(memory_usage='deep'))
print("## 3")
print(dataframe)

Anything Else?

The tcp packets captured by wireshark show:
The doris be server return 'grpc+tcp://0.0.0.0:9090' to client. This could be the reason why client is trying to connect the endpoint: 0.0.0.0:9090

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions