From cdeb64d90a2fc7b402e4268f2f3697303f28dad1 Mon Sep 17 00:00:00 2001 From: yukun Date: Tue, 12 Oct 2021 19:09:22 +0800 Subject: [PATCH] Delete messages before delete meta data in rocksmq retention (#9694) Signed-off-by: fishpenguin --- internal/util/rocksmq/server/rocksmq/rocksmq_retention.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/util/rocksmq/server/rocksmq/rocksmq_retention.go b/internal/util/rocksmq/server/rocksmq/rocksmq_retention.go index a1eae5d5e..0ee7b8415 100644 --- a/internal/util/rocksmq/server/rocksmq/rocksmq_retention.go +++ b/internal/util/rocksmq/server/rocksmq/rocksmq_retention.go @@ -517,11 +517,17 @@ func (ri *retentionInfo) newExpiredCleanUp(topic string) error { newAckedSize := totalAckedSize - deletedAckedSize writeBatch.Put([]byte(ackedSizeKey), []byte(strconv.FormatInt(newAckedSize, 10))) + + err = DeleteMessages(ri.db, topic, startID, endID) + if err != nil { + return err + } + writeOpts := gorocksdb.NewDefaultWriteOptions() defer writeOpts.Destroy() ri.kv.DB.Write(writeOpts, writeBatch) - return DeleteMessages(ri.db, topic, startID, endID) + return nil } /* -- GitLab