Usman Sajid
Usman Sajid

Reputation: 319

Getting exception when trying to delete entity in Milvis vector database using pymilvus

I am working on the python application and I am storing data in Milvus vector database. I have written the following code to delete entity in n Milvus vector database using pymilvus library.

def delete_entities(self, collection_name, entity_id):
        expr = "obj_id in [" + entity_id + "]"
        collection = Collection(collection_name)
        collection.delete(expr)

When I execute the code, I am getting this error:

RPC error: [delete], <MilvusException: (code=65535, message=failed to create expr plan, expr = obj_id in [65ce930d39989b871863b5dd])>, <Time:{'RPC start': '2024-02-16 00:53:20.651576', 'RPC error': '2024-02-16 00:53:20.653786'}>
Exception in thread Thread-9:
Traceback (most recent call last):
  File "C:\Users\usajid\AppData\Local\Programs\Python\Python39\lib\threading.py", line 980, in _bootstrap_inner
    self.run()
  File "C:\Users\usajid\AppData\Local\Programs\Python\Python39\lib\threading.py", line 917, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\usajid\Desktop\semanticsearch\src\backend\components\consumer.py", line 61, in subscribe_topic
    self.COOPERANTS.delete_entities(collection_name, payload['documentKey']['_id']['$oid'])
  File "C:\Users\usajid\Desktop\semanticsearch\src\backend\components\clients.py", line 50, in delete_entities
    collection.delete(expr)
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\orm\collection.py", line 573, in delete        
    res = conn.delete(self._name, expr, partition_name, timeout=timeout, **kwargs)
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\decorators.py", line 135, in handler
    raise e from e
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\decorators.py", line 131, in handler
    return func(*args, **kwargs)
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\decorators.py", line 170, in handler
    return func(self, *args, **kwargs)
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\decorators.py", line 110, in handler
    raise e from e
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\decorators.py", line 74, in handler
    return func(*args, **kwargs)
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\client\grpc_handler.py", line 602, in delete   
    raise err from err
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\client\grpc_handler.py", line 596, in delete   
    check_status(response.status)
  File "c:\Users\usajid\Desktop\semanticsearch\.venv\lib\site-packages\pymilvus\client\utils.py", line 54, in check_status     
    raise MilvusException(status.code, status.reason, status.error_code)
pymilvus.exceptions.MilvusException: <MilvusException: (code=65535, message=failed to create expr plan, expr = obj_id in [65ce930d39989b871863b5dd])>


Can anyone tell me how to fix this issue?

Upvotes: -1

Views: 429

Answers (1)

Usman Sajid
Usman Sajid

Reputation: 319

I forgot to add '' in this line

expr = "obj_id in ['" + entity_id + "']"

Now the code is working fine

Upvotes: 0

Related Questions