Skip to content

Commit 412ed74

Browse files
committed
Handle index already exists error gracefully
1 parent 36da6e2 commit 412ed74

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

agent_memory_server/utils/redis.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from typing import Any
55

66
from redis.asyncio import Redis
7+
from redis.exceptions import ResponseError
78
from redisvl.index import AsyncSearchIndex
89

910
from agent_memory_server.config import settings
@@ -60,7 +61,21 @@ async def ensure_search_index_exists(
6061
if isinstance(adapter, RedisVectorStoreAdapter):
6162
index = adapter.vectorstore.index
6263
if index is not None:
63-
index.create(overwrite=True)
64+
try:
65+
index.create(overwrite=True)
66+
except ResponseError as e:
67+
# Index already exists is not an error condition
68+
error_msg = str(e)
69+
if "Index already exists" in error_msg:
70+
logger.info(
71+
f"Index '{index.name}' already exists, skipping creation"
72+
)
73+
elif "no such index" in error_msg:
74+
# Index doesn't exist yet, create it without overwrite
75+
logger.info(f"Index '{index.name}' does not exist, creating it")
76+
index.create(overwrite=False)
77+
else:
78+
raise
6479
else:
6580
logger.warning(
6681
"Overwriting the search index is only supported for RedisVectorStoreAdapter. "

0 commit comments

Comments
 (0)