apache / arrow-adbc

Database connectivity API standard and libraries for Apache Arrow
https://arrow.apache.org/adbc/
Apache License 2.0
339 stars 86 forks source link

go/adbc/driver/flightsql: investigate connection timeout #1527

Closed lidavidm closed 5 months ago

lidavidm commented 5 months ago

I've received a report where the client is very sluggish if one of the locations returned by the server is not reachable from the client. It takes about 20 seconds for grpc-go to time out and give up on its connection attempt.

We should see: (1) if we can configure this timeout, and provide a knob to tweak; (2) if the client cache remembers this failure and skips the same location on subsequent attempts

lidavidm commented 5 months ago

@zeroshade do you know a way to make grpc-go fail faster when an address is not reachable/not accepting connections? In grpc-c++, there's the confusingly named min_reconnect_backoff_ms, but I don't see an equivalent for Go

zeroshade commented 5 months ago

@lidavidm This dial option should work: https://pkg.go.dev/google.golang.org/grpc#WithConnectParams

lidavidm commented 5 months ago

Ah cool, thank you!