The time for acquire a new connection is not counted when setting context timeout for a query #798
-
I'm using the recent version 1.0.55, disable autopipeling (with some specific type of commands designated to pipe). |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Hi @liuzhaohui, Yes, currently acquiring a connection doesn't respect the context deadline. To respect it, we need to update: Line 467 in f56a674 the dial function to make it accept a context and use Dialer.DialContext to make a connection, and then we also need to update all the intermediate code paths that use the dial function under the hood.
Before that, you can set connection timeout at client, err := rueidis.NewClient(rueidis.ClientOption{
Dialer: net.Dialer{
Timeout: 30 * time.Millisecond,
},
BlockingPoolSize: 1024,
}) Also note that you should make sure you never hit the |
Beta Was this translation helpful? Give feedback.
Hi @liuzhaohui,
Yes, currently acquiring a connection doesn't respect the context deadline. To respect it, we need to update:
rueidis/rueidis.go
Line 467 in f56a674
the
dial
function to make it accept a context and useDialer.DialContext
to make a connection, and then we also need to update all the intermediate code paths that use thedial
function under the hood.Before that, you can set connection timeout at
ClientOption.Dialer.Timeout
:Also note that you…