Skip to content

Commit e90a05f

Browse files
Fix: Ensure multi-tenancy for working memory in GeneralScheduler
Correctly pass mem_cube_id as user_name to get_working_memory in process_session_turn to maintain tenant isolation for working memory management. This addresses a potential data leakage issue in multi-tenant environments.
1 parent c611c54 commit e90a05f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/memos/mem_scheduler/general_scheduler.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
import contextlib
33
import json
44
import os
5-
import traceback
65
import time
6+
import traceback
77

88
from memos.configs.mem_scheduler import GeneralSchedulerConfig
99
from memos.context.context import ContextThreadPoolExecutor
@@ -1369,7 +1369,9 @@ def process_session_turn(
13691369
f"[process_session_turn] Processing {len(queries)} queries for user_id={user_id}, mem_cube_id={mem_cube_id}"
13701370
)
13711371

1372-
cur_working_memory: list[TextualMemoryItem] = text_mem_base.get_working_memory()
1372+
cur_working_memory: list[TextualMemoryItem] = text_mem_base.get_working_memory(
1373+
user_name=mem_cube_id
1374+
)
13731375
text_working_memory: list[str] = [w_m.memory for w_m in cur_working_memory]
13741376
intent_result = self.monitor.detect_intent(
13751377
q_list=queries, text_working_memory=text_working_memory

0 commit comments

Comments
 (0)