1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-28 06:42:00 +03:00

Increase read timeout for blocking commands and don't retry such commands

This commit is contained in:
Vladimir Mihailenco
2017-09-27 10:58:06 +03:00
parent 34ce349cb7
commit 7cb146a31b
5 changed files with 9 additions and 9 deletions

View File

@ -136,7 +136,7 @@ func (c *baseClient) defaultProcess(cmd Cmder) error {
cn, _, err := c.getConn()
if err != nil {
cmd.setErr(err)
if internal.IsRetryableError(err) {
if internal.IsRetryableError(err, true) {
continue
}
return err
@ -146,7 +146,7 @@ func (c *baseClient) defaultProcess(cmd Cmder) error {
if err := writeCmd(cn, cmd); err != nil {
c.releaseConn(cn, err)
cmd.setErr(err)
if internal.IsRetryableError(err) {
if internal.IsRetryableError(err, true) {
continue
}
return err
@ -155,7 +155,7 @@ func (c *baseClient) defaultProcess(cmd Cmder) error {
cn.SetReadTimeout(c.cmdTimeout(cmd))
err = cmd.readReply(cn)
c.releaseConn(cn, err)
if err != nil && internal.IsRetryableError(err) {
if err != nil && internal.IsRetryableError(err, cmd.readTimeout() == nil) {
continue
}
@ -221,7 +221,7 @@ func (c *baseClient) pipelineExecer(p pipelineProcessor) pipelineExecer {
}
_ = c.connPool.Remove(cn)
if !canRetry || !internal.IsRetryableError(err) {
if !canRetry || !internal.IsRetryableError(err, true) {
break
}
}