{"record":{"id":"10476752a22986f1","repo":"MemPalace/mempalace","slug":"update-requires-at-least-one-of-documents-metadat-104767","errorCode":null,"errorMessage":"update requires at least one of documents, metadatas, embeddings","messagePattern":"update requires at least one of documents, metadatas, embeddings","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mempalace/backends/milvus.py","lineNumber":568,"sourceCode":"\n    def upsert(self, *, documents, ids, metadatas=None, embeddings=None):\n        if embeddings is None:\n            raise ValueError(\"milvus requires explicit embeddings\")\n        rows, dimension = self._prepare_rows(\n            documents=documents,\n            ids=ids,\n            metadatas=metadatas,\n            embeddings=embeddings,\n        )\n        if not rows:\n            return\n        self._ensure_remote_collection(dimension)\n        self._client.upsert(collection_name=self._remote_collection, data=rows)\n        self._backend._write_marker(self._palace, self._config)\n\n    def update(self, *, ids, documents=None, metadatas=None, embeddings=None):\n        if documents is None and metadatas is None and embeddings is None:\n            raise ValueError(\"update requires at least one of documents, metadatas, embeddings\")\n        n = len(ids)\n        for label, value in (\n            (\"documents\", documents),\n            (\"metadatas\", metadatas),\n            (\"embeddings\", embeddings),\n        ):\n            if value is not None and len(value) != n:\n                raise ValueError(f\"{label} length {len(value)} does not match ids length {n}\")\n        existing = self.get(ids=list(ids), include=[\"documents\", \"metadatas\", \"embeddings\"])\n        by_id = {\n            rid: (existing.documents[i], existing.metadatas[i], existing.embeddings[i])\n            for i, rid in enumerate(existing.ids)\n            if existing.embeddings is not None\n        }\n        out_ids = []\n        out_docs = []\n        out_metas = []\n        out_embeddings = []","sourceCodeStart":550,"sourceCodeEnd":586,"githubUrl":"https://github.com/MemPalace/mempalace/blob/06cb6987f02610784fefbad4b2bd5d026d164ba6/mempalace/backends/milvus.py#L550-L586","documentation":"Error \"update requires at least one of documents, metadatas, embeddings\" thrown in MemPalace/mempalace.","triggerScenarios":"Thrown at mempalace/backends/milvus.py:568 when the library encounters an invalid state.","commonSituations":"Update was called with no fields to change.","solutions":["Pass at least one of documents, metadatas, or embeddings to update"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"06cb6987f02610784fefbad4b2bd5d026d164ba6","analyzedAt":"2026-08-15T03:03:36.213Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}