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

fix(conn): releaseConn should be executed correctly

Signed-off-by: monkey92t <golang@88.com>
This commit is contained in:
monkey92t
2023-01-28 15:44:06 +08:00
parent 805bfc2c60
commit 21e1954745
2 changed files with 22 additions and 9 deletions

View File

@ -1287,9 +1287,13 @@ func (c *ClusterClient) processPipelineNode(
return err
}
err = c.processPipelineNodeConn(ctx, node, cn, cmds, failedCmds)
node.Client.releaseConn(ctx, cn, err)
return err
var processErr error
defer func() {
node.Client.releaseConn(ctx, cn, processErr)
}()
processErr = c.processPipelineNodeConn(ctx, node, cn, cmds, failedCmds)
return processErr
})
}
@ -1464,9 +1468,13 @@ func (c *ClusterClient) processTxPipelineNode(
return err
}
err = c.processTxPipelineNodeConn(ctx, node, cn, cmds, failedCmds)
node.Client.releaseConn(ctx, cn, err)
return err
var processErr error
defer func() {
node.Client.releaseConn(ctx, cn, processErr)
}()
processErr = c.processTxPipelineNodeConn(ctx, node, cn, cmds, failedCmds)
return processErr
})
}