From d142b9095eff9ed37d616d21f8869b88b425cf9e Mon Sep 17 00:00:00 2001 From: Lynn Date: Mon, 29 Dec 2025 17:10:46 +0800 Subject: [PATCH] Fix: pick message to delete (#12295) ### What problem does this PR solve? Pick unforgotten message when not found forgotten message to delete. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- memory/services/messages.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/memory/services/messages.py b/memory/services/messages.py index 8687f51a3..0b41754c8 100644 --- a/memory/services/messages.py +++ b/memory/services/messages.py @@ -194,19 +194,18 @@ class MessageService: select_fields = ["message_id", "content", "content_embed"] _index_name = index_name(uid) res = settings.msgStoreConn.get_forgotten_messages(select_fields, _index_name, memory_id) - if not res: - return [] - message_list = settings.msgStoreConn.get_fields(res, select_fields) current_size = 0 ids_to_remove = [] - for message in message_list.values(): - if current_size < size_to_delete: - current_size += cls.calculate_message_size(message) - ids_to_remove.append(message["message_id"]) - else: + if res: + message_list = settings.msgStoreConn.get_fields(res, select_fields) + for message in message_list.values(): + if current_size < size_to_delete: + current_size += cls.calculate_message_size(message) + ids_to_remove.append(message["message_id"]) + else: + return ids_to_remove, current_size + if current_size >= size_to_delete: return ids_to_remove, current_size - if current_size >= size_to_delete: - return ids_to_remove, current_size order_by = OrderByExpr() order_by.asc("valid_at")