mirror of
				https://github.com/redis/go-redis.git
				synced 2025-11-04 02:33:24 +03:00 
			
		
		
		
	Conn timeout should be higher than read timeout
This commit is contained in:
		@@ -1274,7 +1274,7 @@ func (c *ClusterClient) remapCmds(cmds []Cmder, failedCmds map[*clusterNode][]Cm
 | 
			
		||||
func (c *ClusterClient) pipelineProcessCmds(
 | 
			
		||||
	node *clusterNode, cn *pool.Conn, cmds []Cmder, failedCmds map[*clusterNode][]Cmder,
 | 
			
		||||
) error {
 | 
			
		||||
	_ = cn.SetWriteTimeout(c.opt.WriteTimeout)
 | 
			
		||||
	cn.SetWriteTimeout(c.opt.WriteTimeout)
 | 
			
		||||
 | 
			
		||||
	err := writeCmd(cn, cmds...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -1284,7 +1284,7 @@ func (c *ClusterClient) pipelineProcessCmds(
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Set read timeout for all commands.
 | 
			
		||||
	_ = cn.SetReadTimeout(c.opt.ReadTimeout)
 | 
			
		||||
	cn.SetReadTimeout(c.opt.ReadTimeout)
 | 
			
		||||
 | 
			
		||||
	return c.pipelineReadCmds(cn, cmds, failedCmds)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -421,7 +421,7 @@ func (c *cmdable) Migrate(host, port, key string, db int64, timeout time.Duratio
 | 
			
		||||
		db,
 | 
			
		||||
		formatMs(timeout),
 | 
			
		||||
	)
 | 
			
		||||
	cmd.setReadTimeout(readTimeout(timeout))
 | 
			
		||||
	cmd.setReadTimeout(timeout)
 | 
			
		||||
	c.process(cmd)
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
@@ -995,7 +995,7 @@ func (c *cmdable) BLPop(timeout time.Duration, keys ...string) *StringSliceCmd {
 | 
			
		||||
	}
 | 
			
		||||
	args[len(args)-1] = formatSec(timeout)
 | 
			
		||||
	cmd := NewStringSliceCmd(args...)
 | 
			
		||||
	cmd.setReadTimeout(readTimeout(timeout))
 | 
			
		||||
	cmd.setReadTimeout(timeout)
 | 
			
		||||
	c.process(cmd)
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
@@ -1008,7 +1008,7 @@ func (c *cmdable) BRPop(timeout time.Duration, keys ...string) *StringSliceCmd {
 | 
			
		||||
	}
 | 
			
		||||
	args[len(keys)+1] = formatSec(timeout)
 | 
			
		||||
	cmd := NewStringSliceCmd(args...)
 | 
			
		||||
	cmd.setReadTimeout(readTimeout(timeout))
 | 
			
		||||
	cmd.setReadTimeout(timeout)
 | 
			
		||||
	c.process(cmd)
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
@@ -1020,7 +1020,7 @@ func (c *cmdable) BRPopLPush(source, destination string, timeout time.Duration)
 | 
			
		||||
		destination,
 | 
			
		||||
		formatSec(timeout),
 | 
			
		||||
	)
 | 
			
		||||
	cmd.setReadTimeout(readTimeout(timeout))
 | 
			
		||||
	cmd.setReadTimeout(timeout)
 | 
			
		||||
	c.process(cmd)
 | 
			
		||||
	return cmd
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -309,7 +309,7 @@ func (c *PubSub) ReceiveTimeout(timeout time.Duration) (interface{}, error) {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cn.SetReadTimeout(timeout)
 | 
			
		||||
	cn.SetReadTimeout(readTimeout(timeout))
 | 
			
		||||
	err = c.cmd.readReply(cn)
 | 
			
		||||
	c.releaseConn(cn, err)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user