diff --git a/osscluster.go b/osscluster.go index 71c9a892..0dce50a4 100644 --- a/osscluster.go +++ b/osscluster.go @@ -1497,6 +1497,10 @@ func (c *ClusterClient) processTxPipeline(ctx context.Context, cmds []Cmder) err // Trim multi .. exec. cmds = cmds[1 : len(cmds)-1] + if len(cmds) == 0 { + return nil + } + state, err := c.state.Get(ctx) if err != nil { setCmdsErr(cmds, err) @@ -1509,9 +1513,6 @@ func (c *ClusterClient) processTxPipeline(ctx context.Context, cmds []Cmder) err setCmdsErr(cmds, ErrCrossSlot) return ErrCrossSlot } - if len(cmdsMap) == 0 { - return nil - } for slot, cmds := range cmdsMap { node, err := state.slotMasterNode(slot)