forked from mirror/redis
Merge pull request #1034 from go-redis/fix/pipeline-make-node-as-loading
Mark node as loading in Cluster pipeline read
This commit is contained in:
commit
458982a440
1
Makefile
1
Makefile
|
@ -1,6 +1,7 @@
|
|||
all: testdeps
|
||||
go test ./...
|
||||
go test ./... -short -race
|
||||
go test ./... -run=NONE -bench=.
|
||||
env GOOS=linux GOARCH=386 go test ./...
|
||||
go vet
|
||||
go get github.com/gordonklaus/ineffassign
|
||||
|
|
|
@ -1265,7 +1265,7 @@ func (c *ClusterClient) mapCmdsByNode(cmds []Cmder, cmdsMap *cmdsMap) error {
|
|||
return err
|
||||
}
|
||||
|
||||
cmdsAreReadOnly := c.cmdsAreReadOnly(cmds)
|
||||
cmdsAreReadOnly := c.opt.ReadOnly && c.cmdsAreReadOnly(cmds)
|
||||
for _, cmd := range cmds {
|
||||
var node *clusterNode
|
||||
var err error
|
||||
|
@ -1309,10 +1309,9 @@ func (c *ClusterClient) pipelineProcessCmds(
|
|||
return err
|
||||
}
|
||||
|
||||
err = cn.WithReader(c.opt.ReadTimeout, func(rd *proto.Reader) error {
|
||||
return cn.WithReader(c.opt.ReadTimeout, func(rd *proto.Reader) error {
|
||||
return c.pipelineReadCmds(node, rd, cmds, failedCmds)
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *ClusterClient) pipelineReadCmds(
|
||||
|
@ -1329,7 +1328,9 @@ func (c *ClusterClient) pipelineReadCmds(
|
|||
continue
|
||||
}
|
||||
|
||||
if internal.IsRedisError(err) {
|
||||
if c.opt.ReadOnly && internal.IsLoadingError(err) {
|
||||
node.MarkAsLoading()
|
||||
} else if internal.IsRedisError(err) {
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue