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

  1. 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.