diff --git a/consumer.go b/consumer.go index 0d0410d8..1db43565 100644 --- a/consumer.go +++ b/consumer.go @@ -981,7 +981,13 @@ func (r *Consumer) sendRDY(c *Conn, count int64) error { } atomic.AddInt64(&r.totalRdyCount, count-c.RDY()) + + lastRDY := c.LastRDY() c.SetRDY(count) + if count == lastRDY { + return nil + } + err := c.WriteCommand(Ready(int(count))) if err != nil { r.log(LogLevelError, "(%s) error sending RDY %d - %s", c.String(), count, err) diff --git a/mock_test.go b/mock_test.go index 8d9dbf91..057442a3 100644 --- a/mock_test.go +++ b/mock_test.go @@ -343,7 +343,6 @@ func TestConsumerRequeueNoBackoff(t *testing.T) { "RDY 0", fmt.Sprintf("REQ %s 0", msgIDRequeueNoBackoff), "RDY 1", - "RDY 1", fmt.Sprintf("FIN %s", msgIDGood), } if len(n.got) != len(expected) {