Fix: init memory size from es (#12282)

### What problem does this PR solve?

Handle return when none exist index.

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Lynn
2025-12-29 12:01:45 +08:00
committed by GitHub
parent 01f0ced1e6
commit f9619defcc
2 changed files with 10 additions and 11 deletions

View File

@ -71,7 +71,7 @@ class MessageService:
filter_dict["session_id"] = keywords filter_dict["session_id"] = keywords
order_by = OrderByExpr() order_by = OrderByExpr()
order_by.desc("valid_at") order_by.desc("valid_at")
res = settings.msgStoreConn.search( res, total_count = settings.msgStoreConn.search(
select_fields=[ select_fields=[
"message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id", "valid_at", "message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id", "valid_at",
"invalid_at", "forget_at", "status" "invalid_at", "forget_at", "status"
@ -82,13 +82,12 @@ class MessageService:
offset=(page-1)*page_size, limit=page_size, offset=(page-1)*page_size, limit=page_size,
index_names=index, memory_ids=[memory_id], agg_fields=[], hide_forgotten=False index_names=index, memory_ids=[memory_id], agg_fields=[], hide_forgotten=False
) )
if not res: if not total_count:
return { return {
"message_list": [], "message_list": [],
"total_count": 0 "total_count": 0
} }
total_count = settings.msgStoreConn.get_total(res)
doc_mapping = settings.msgStoreConn.get_fields(res, [ doc_mapping = settings.msgStoreConn.get_fields(res, [
"message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id", "message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id",
"valid_at", "invalid_at", "forget_at", "status" "valid_at", "invalid_at", "forget_at", "status"
@ -107,7 +106,7 @@ class MessageService:
} }
order_by = OrderByExpr() order_by = OrderByExpr()
order_by.desc("valid_at") order_by.desc("valid_at")
res = settings.msgStoreConn.search( res, total_count = settings.msgStoreConn.search(
select_fields=[ select_fields=[
"message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id", "valid_at", "message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id", "valid_at",
"invalid_at", "forget_at", "status", "content" "invalid_at", "forget_at", "status", "content"
@ -118,7 +117,7 @@ class MessageService:
offset=0, limit=limit, offset=0, limit=limit,
index_names=index_names, memory_ids=memory_ids, agg_fields=[] index_names=index_names, memory_ids=memory_ids, agg_fields=[]
) )
if not res: if not total_count:
return [] return []
doc_mapping = settings.msgStoreConn.get_fields(res, [ doc_mapping = settings.msgStoreConn.get_fields(res, [
@ -136,7 +135,7 @@ class MessageService:
order_by = OrderByExpr() order_by = OrderByExpr()
order_by.desc("valid_at") order_by.desc("valid_at")
res = settings.msgStoreConn.search( res, total_count = settings.msgStoreConn.search(
select_fields=[ select_fields=[
"message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id", "message_id", "message_type", "source_id", "memory_id", "user_id", "agent_id", "session_id",
"valid_at", "valid_at",
@ -149,7 +148,7 @@ class MessageService:
offset=0, limit=top_n, offset=0, limit=top_n,
index_names=index_names, memory_ids=memory_ids, agg_fields=[] index_names=index_names, memory_ids=memory_ids, agg_fields=[]
) )
if not res: if not total_count:
return [] return []
docs = settings.msgStoreConn.get_fields(res, [ docs = settings.msgStoreConn.get_fields(res, [
@ -211,7 +210,7 @@ class MessageService:
order_by = OrderByExpr() order_by = OrderByExpr()
order_by.asc("valid_at") order_by.asc("valid_at")
res = settings.msgStoreConn.search( res, total_count = settings.msgStoreConn.search(
select_fields=select_fields, select_fields=select_fields,
highlight_fields=[], highlight_fields=[],
condition={}, condition={},
@ -240,7 +239,7 @@ class MessageService:
order_by = OrderByExpr() order_by = OrderByExpr()
order_by.desc("message_id") order_by.desc("message_id")
index_names = [index_name(uid) for uid in uid_list] index_names = [index_name(uid) for uid in uid_list]
res = settings.msgStoreConn.search( res, total_count = settings.msgStoreConn.search(
select_fields=["message_id"], select_fields=["message_id"],
highlight_fields=[], highlight_fields=[],
condition={}, condition={},
@ -250,7 +249,7 @@ class MessageService:
index_names=index_names, memory_ids=memory_ids, index_names=index_names, memory_ids=memory_ids,
agg_fields=[], hide_forgotten=False agg_fields=[], hide_forgotten=False
) )
if not res: if not total_count:
return 1 return 1
docs = settings.msgStoreConn.get_fields(res, ["message_id"]) docs = settings.msgStoreConn.get_fields(res, ["message_id"])

View File

@ -130,7 +130,7 @@ class ESConnection(ESConnectionBase):
exist_index_list = [idx for idx in index_names if self.index_exist(idx)] exist_index_list = [idx for idx in index_names if self.index_exist(idx)]
if not exist_index_list: if not exist_index_list:
return None return None, 0
bool_query = Q("bool", must=[], must_not=[]) bool_query = Q("bool", must=[], must_not=[])
if hide_forgotten: if hide_forgotten: