MemPalace/mempalace · error · ValueError
ids already exist in milvus collection: {existing.ids}
Error message
ids already exist in milvus collection: {existing.ids} What it means
Error "ids already exist in milvus collection: {existing.ids}" thrown in MemPalace/mempalace.
Source
Thrown at mempalace/backends/milvus.py:546
return rows, dimension
def add(self, *, documents, ids, metadatas=None, embeddings=None):
if embeddings is None:
raise ValueError("milvus requires explicit embeddings")
if len(set(ids)) != len(ids):
raise ValueError("add ids must be unique")
rows, dimension = self._prepare_rows(
documents=documents,
ids=ids,
metadatas=metadatas,
embeddings=embeddings,
)
if not rows:
return
if self._remote_exists():
existing = self.get(ids=list(ids), include=[])
if existing.ids:
raise ValueError(f"ids already exist in milvus collection: {existing.ids}")
self._ensure_remote_collection(dimension)
self._client.insert(collection_name=self._remote_collection, data=rows)
self._backend._write_marker(self._palace, self._config)
def upsert(self, *, documents, ids, metadatas=None, embeddings=None):
if embeddings is None:
raise ValueError("milvus requires explicit embeddings")
rows, dimension = self._prepare_rows(
documents=documents,
ids=ids,
metadatas=metadatas,
embeddings=embeddings,
)
if not rows:
return
self._ensure_remote_collection(dimension)
self._client.upsert(collection_name=self._remote_collection, data=rows)
self._backend._write_marker(self._palace, self._config)View on GitHub (pinned to 06cb6987f0)
Solutions
- Use update/upsert for existing ids, or delete the existing ids first
When it happens
Trigger: Thrown at mempalace/backends/milvus.py:546 when the library encounters an invalid state.
Common situations: Re-mining or re-adding drawers that already exist in the collection without upsert semantics.
AI-assisted analysis of MemPalace/mempalace@06cb6987f0 (2026-08-15).
Data as JSON: /api/errors/97b4d8c7bdb764d2.
Report an issue: GitHub.