1
0
mirror of https://github.com/redis/go-redis.git synced 2025-12-03 18:31:14 +03:00

better timeouts

This commit is contained in:
Nedyalko Dyakov
2025-10-24 15:28:19 +03:00
parent de2f8ba0a1
commit 94fa9204ce
2 changed files with 10 additions and 6 deletions

View File

@@ -394,8 +394,8 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error {
if finalState == pool.StateInitializing {
// Another goroutine is initializing - WAIT for it to complete
// Use AwaitAndTransition to wait for IDLE or IN_USE state
// Add 1ms timeout to prevent indefinite blocking
waitCtx, cancel := context.WithTimeout(ctx, time.Millisecond)
// use DialTimeout as the timeout for the wait
waitCtx, cancel := context.WithTimeout(ctx, c.opt.DialTimeout)
defer cancel()
finalState, err := cn.GetStateMachine().AwaitAndTransition(