After deleteing Collection, the corresponding Index Build Tasks still exist and in running. #41800
-
I create a index with HNSW_PQ(m=32, nbits=24) and insert Thirty million vector rows. I found the Milvus OOM exit and the corresponding Index Build Tasks in InProgress state. I guess the Kmeans consume a lot of memory in index build progress, then I drop the index, but the corresponding Index Build Tasks still exist and in running. The Milvus still exit due to OOM occur after restart Milvus.
Env:
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 12 replies
-
@yhmo help me big bro!😊 |
Beta Was this translation helpful? Give feedback.
-
In index node, each index task is for one segment. When you call the drop_index() interface, the index node will cancel all the index tasks that are queued and not executed. The ongoing task cannot be canceled, index node will wait until it is finished. drop_index() must be called after release_collection(). So, after you drop the index and restart the milvus, the collection should not be loaded, the milvus should only consume a few memory. |
Beta Was this translation helpful? Give feedback.
-
did you tune the segment size? 256GB memory should be anyway good enough for indexbuildings? |
Beta Was this translation helpful? Give feedback.
-
I think 256G memory should be far more enough for 1536dim HNSWPQ. You might hit into a bug in 2.5.5 which might cause unstoppable compaction and may consume a lot of resources. Try to upgrade to 2.5.12 and see if it helps. I'm assuming 64GB memory should be good |
Beta Was this translation helpful? Give feedback.
In index node, each index task is for one segment. When you call the drop_index() interface, the index node will cancel all the index tasks that are queued and not executed. The ongoing task cannot be canceled, index node will wait until it is finished.
So, after you drop the index and restart the milvus, the index node should be idle.
drop_index() must be called after release_collection(). So, after you drop the index and restart the milvus, the collection should not be loaded, the milvus should only consume a few memory.