From 32ebdd878941d1704d2b22faf7a43877899087a4 Mon Sep 17 00:00:00 2001 From: Jiaxin Yan Date: Thu, 23 Jan 2025 18:10:12 +0800 Subject: [PATCH] fix message id bug --- .../providers/queue/redis/redisQueueProvider.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/coa/pkg/apis/v1alpha2/providers/queue/redis/redisQueueProvider.go b/coa/pkg/apis/v1alpha2/providers/queue/redis/redisQueueProvider.go index 6461cac34..d495b0885 100644 --- a/coa/pkg/apis/v1alpha2/providers/queue/redis/redisQueueProvider.go +++ b/coa/pkg/apis/v1alpha2/providers/queue/redis/redisQueueProvider.go @@ -251,6 +251,9 @@ func (rq *RedisQueueProvider) Dequeue(queue string) (interface{}, error) { // GetRecords retrieves records from the queue starting from the specified index and retrieves the specified size of records. func (rq *RedisQueueProvider) QueryByPaging(queueName string, start string, size int) ([][]byte, string, error) { + if size <= 0 { + return nil, "", fmt.Errorf("size cannot be 0") + } if start != "0" { start = "(" + start } @@ -262,11 +265,10 @@ func (rq *RedisQueueProvider) QueryByPaging(queueName string, start string, size return nil, "", err } - lastMessageID := xMessages[len(xMessages)-1].ID - if len(xMessages) <= size { - lastMessageID = "" - } else { + lastMessageID := "" + if len(xMessages) > size { xMessages = xMessages[:size] + lastMessageID = xMessages[len(xMessages)-2].ID } var results [][]byte for _, xMsg := range xMessages {