From 06a7ba76d4019427f0c9e07b6d97b5b2ed0c6cce Mon Sep 17 00:00:00 2001 From: Zekey Huang Date: Tue, 11 Aug 2026 14:27:42 -0400 Subject: [PATCH] Clean up orphaned partition summaries when deleting summary views Fix #229 --- V0/agent_memory_server/summary_views.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/V0/agent_memory_server/summary_views.py b/V0/agent_memory_server/summary_views.py index 6adf5f20..5c44f541 100644 --- a/V0/agent_memory_server/summary_views.py +++ b/V0/agent_memory_server/summary_views.py @@ -151,10 +151,23 @@ async def delete_summary_view(view_id: str) -> None: up in a later pass if needed. """ + cursor = 0 + redis = await get_redis_conn() await redis.delete(_config_key(view_id)) await redis.srem(_SUMMARY_VIEW_INDEX_KEY, view_id) + pattern = _summary_key(view_id, "*") + + while True: + cursor, keys = await redis.scan(cursor=cursor, match=pattern, count=100) + + for key in keys: + await redis.delete(key) + + if cursor == 0: + break + async def save_partition_result(result: SummaryViewPartitionResult) -> None: """Persist a single partition result for a SummaryView."""