{"record":{"id":"9ce86b4681ce4e6b","repo":"microsoft/semantic-kernel","slug":"collection-collection-name-does-not-exist-canno-9ce86b","errorCode":null,"errorMessage":"Collection {collection_name} does not exist, cannot remove.","messagePattern":"Collection (.+?) does not exist, cannot remove\\.","errorType":"exception","errorClass":"ServiceResourceNotFoundError","httpStatus":404,"severity":"error","filePath":"python/semantic_kernel/connectors/memory_stores/milvus/milvus_memory_store.py","lineNumber":368,"sourceCode":"            collection_name (str): Collection to remove from.\n            key (str): The key to remove.\n        \"\"\"\n        await self.remove_batch(collection_name=collection_name, keys=[key])\n\n    async def remove_batch(self, collection_name: str, keys: list[str]) -> None:\n        \"\"\"Remove multiple records based on keys.\n\n        Args:\n            collection_name (str): Collection to remove from\n            keys (List[str]): The list of keys.\n\n        Raises:\n            Exception: Collection doesnt exist.\n            e: Failure to remove key.\n        \"\"\"\n        if collection_name not in utility.list_collections():\n            logger.debug(f\"Collection {collection_name} does not exist, cannot remove.\")\n            raise ServiceResourceNotFoundError(f\"Collection {collection_name} does not exist, cannot remove.\")\n        try:\n            self.collections[collection_name].load()\n            result = self.collections[collection_name].delete(\n                expr=f\"{SEARCH_FIELD_ID} in {keys}\",\n            )\n            self.collections[collection_name].flush()\n        except Exception as e:\n            logger.debug(f\"Remove failed due to: {e}\")\n            raise ServiceResponseException(f\"Remove failed due to: {e}\") from e\n        if result.delete_count != len(keys):\n            logger.debug(f\"Failed to remove all keys, {result.delete_count} removed out of {len(keys)}\")\n            raise ServiceResponseException(\n                f\"Failed to remove all keys, {result.delete_count} removed out of {len(keys)}\"\n            )\n\n    async def get_nearest_matches(\n        self,\n        collection_name: str,","sourceCodeStart":350,"sourceCodeEnd":386,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/python/semantic_kernel/connectors/memory_stores/milvus/milvus_memory_store.py#L350-L386","documentation":"Raised as a ServiceResourceNotFoundError in MilvusMemoryStore.remove_batch when the collection name is not in utility.list_collections(). The remove path requires an existing collection to load and delete from.","triggerScenarios":"Calling await store.remove('my_collection', key) or remove_batch on a collection that does not exist. Note remove delegates to remove_batch. The collection may have been dropped or never created.","commonSituations":"Cleanup/teardown code running against a collection already deleted. Collection name mismatch. Running remove in a fresh environment where create_collection was never called.","solutions":["Guard with utility.has_collection(collection_name) before calling remove/remove_batch.","Catch ServiceResourceNotFoundError and treat removal of a non-existent collection as a no-op if idempotent deletion is desired.","Verify collection name spelling and the target Milvus instance.","Ensure create_collection ran in the current environment."],"exampleFix":"// before\nawait store.remove('docs', key)  # ServiceResourceNotFoundError\n// after\ntry:\n    await store.remove_batch('docs', [key])\nexcept ServiceResourceNotFoundError:\n    pass  # collection already gone; nothing to remove","handlingStrategy":"validation","validationCode":"from pymilvus import utility\n\nif collection_name in utility.list_collections():\n    await store.remove_batch('docs', keys)\nelse:\n    logging.info('Collection absent; skip remove')","typeGuard":null,"tryCatchPattern":"from semantic_kernel.exceptions import ServiceResourceNotFoundError\n\ntry:\n    await store.remove_batch('docs', keys)\nexcept ServiceResourceNotFoundError:\n    pass  # idempotent: collection already absent","preventionTips":["Guard remove/remove_batch with utility.has_collection for idempotent cleanup.","Verify collection name and Milvus instance in teardown scripts.","Treat removal of a missing collection as a no-op where appropriate.","Run create_collection before any remove path in fresh environments."],"tags":["milvus","collection","resource-not-found","remove","python"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}