diff --git a/pkg/common/db/controller/msg.go b/pkg/common/db/controller/msg.go index 2ca70f882..ad2c501a9 100644 --- a/pkg/common/db/controller/msg.go +++ b/pkg/common/db/controller/msg.go @@ -672,17 +672,19 @@ func (db *commonMsgDatabase) DeleteMsgsPhysicalBySeqs(ctx context.Context, conve } func (db *commonMsgDatabase) DeleteUserMsgsBySeqs(ctx context.Context, userID string, conversationID string, seqs []int64) error { - msgs, _, err := db.cache.GetMessagesBySeq(ctx, conversationID, seqs) - if err != nil { + cachedMsgs, _, err := db.cache.GetMessagesBySeq(ctx, conversationID, seqs) + if err != nil && errs.Unwrap(err) != redis.Nil { log.ZWarn(ctx, "DeleteUserMsgsBySeqs", err, "conversationID", conversationID, "seqs", seqs) return err } - var cacheSeqs []int64 - for _, msg := range msgs { - cacheSeqs = append(cacheSeqs, msg.Seq) - } - if err := db.cache.UserDeleteMsgs(ctx, conversationID, cacheSeqs, userID); err != nil && errs.Unwrap(err) != redis.Nil { - return err + if len(cachedMsgs) > 0 { + var cacheSeqs []int64 + for _, msg := range cachedMsgs { + cacheSeqs = append(cacheSeqs, msg.Seq) + } + if err := db.cache.UserDeleteMsgs(ctx, conversationID, cacheSeqs, userID); err != nil { + return err + } } for docID, seqs := range db.msg.GetDocIDSeqsMap(conversationID, seqs) {