go-redis
go-redis copied to clipboard
should not redirect when meet network err in cluster mode
Issue tracker is used for reporting bugs and discussing new features. Please use stackoverflow for supporting issues.
should not redirect req when meet netwrokr err in cluster, in cluster mode ,we default set maxRediect to 3, we should redirect when meet move ,ask or readonly err. but we should not redirect req when meet network err. but as code below:
err := c._processPipelineNode(ctx, node, cmds, failedCmds)
if err == nil {
return
}
if attempt < c.opt.MaxRedirects {
if err := c.mapCmdsByNode(ctx, failedCmds, cmds); err != nil {
setCmdsErr(cmds, err)
}
} else {
setCmdsErr(cmds, err)
}
when meet network err, it will retry all cmd, and if we also set maxRetry, it will cause multi retry req.
Expected Behavior
shoudl not redirect when meet network err in cluster mode
Current Behavior
retry all cmd when meet network err in cluster mode
Possible Solution
check err in cluster mode ,and only redirect in move|ask|readonly err