I’m running into a fatal error when loading a large HNSW index in Milvus 2.6.7, deployed via Docker, and backed by S3-compatible object storage.
Here is the setup:
Collection size: ~50 million vectors
Both data and HNSW index are stored in S3-compatible object storage
Data ingestion completes successfully
HNSW index is built without any errors
The issue only occurs during
load_collection
When loading the collection, Milvus crashes and gets stuck. The last error in the logs looks like this:
Assert "fs != nullptr" => arrow file system is nullptr
at segcore/load_index.cpp
From the logs, the failure happens while loading HNSW index files, and it seems the Arrow filesystem object is null. This only reproduces with large collections; smaller datasets load fine.
My main question is:
What typically causes
fs == nullptrassertion failures when loading large HNSW indexes in Milvus with S3 object storage, and is this related to Arrow filesystem initialization or the index loading mechanism?