-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](arrow-flight-sql) Fix Arrow Flight bind wrong Host in Fqdn #34850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
wangbo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
… 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`.
… error `0.0.0.0:xxx, connection refused` (apache#40002) Fix: apache#36340 Introduced in: apache#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`.
… 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`.
… error `0.0.0.0:xxx, connection refused` (apache#40002) Fix: apache#36340 Introduced in: apache#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`.
Proposed changes
If use Fqdn, FE Host will use hostname. then will use hostname and port creating Arrow Flight Server, If
/etc/hostsis configured with an intranet IP, Arrow Flight Server will bind intranet IP, external network inaccessible.so, let Arrow Flight Server bind
0.0.0.0, allowing all IPs to access.In addition, fix Arrow Flight connection calling getMysqlChannel().
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...