Milvus Problems & Issues
Real user-reported problems, complaints, and limitations for Milvus. Based on analysis of 13 signals.
Overall score: 68/100
Issues by Category
Search fails with 'collection not loaded' until you index and load
Milvus does not make a collection searchable on create. You must create a vector index and call load_collection first, which surprises users coming from Chroma or Qdrant. The error is among the most commonly reported in setup guides.
Vector dimension mismatch errors when switching embedding model
The schema dim is fixed. Sending embeddings of another length (for example 768 into a 1536 collection) fails with a dimension mismatch, and the only fix is a new collection and re-ingest. Downstream tools such as LightRAG needed a patch for it.
Freshly inserted data does not show up in search
Inserts sit in growing segments and results can be empty until flush or a stronger consistency level. Third-party guides list this as a top confusion for new users.
Concurrent bulk inserts hit 'DataNode resource not enough'
Standalone has a fixed data node pool and many parallel writers can exhaust it. Fix is fewer writers, batches of 10k+ rows, or cluster mode.
Milvus query node runs out of memory when loading large collections
Loading puts index files and raw field data of a collection into memory, so collections bigger than query node RAM fail to load or get the node OOM-killed. GitHub issues describe a query node killed for excessive memory and loaded collections showing 0 afterwards.
Slow search after restart, scaling or heavy filters
Official bottleneck guidance points to search parameters (ef, nprobe), filter selectivity, unindexed segments and queueing on query nodes. Users report sudden latency spikes even with query nodes about half used.
Free Zilliz Cloud cluster first query times out
A third-party guide reports free-tier clusters auto-pause and the first query after a pause can time out, needing a retry after about 10 seconds. Not confirmed in official Zilliz pages we read.
Cluster mode is heavy to run yourself
Official docs ask for 32 GB RAM minimum (128 GB recommended) and 8+ cores for a cluster, plus etcd, object storage and a WAL. Small teams often find this more than they want to operate.
Index not exist error after creating a collection
Unlike some rivals, Milvus does not build the vector index for you in the quick path; create_index on the vector field is required before load. New users hit 'index not exist' and lose time.
etcd and MinIO dependencies cause startup crashes
Milvus relies on etcd and object storage. Docs warn slow etcd disks cause frequent leader elections; users report standalone crash loops on 'mvcc: database space exceeded', lost etcd keepalive, and 'failed to open WAL' on full disks.
Connection refused or timeout on localhost:19530
Clients fail with 'Fail connecting to server on localhost:19530. Timeout' when the container is not up yet, the port is not published, or a firewall blocks gRPC 19530. Standalone can take a while to become healthy.
Zilliz Cloud Dedicated starts at $126/month and scales with vectors
Dedicated is listed from $126/month (Standard) and $197/month (Enterprise), and cluster rates run from about $5 to $63 per million 768-dim vectors per month depending on tier. Serverless is billed by vCUs, which are hard to predict.
Many production questions stay open on GitHub
Several bug reports about load failures after power loss are open and tagged as needing more information, leaving self-hosters to debug alone. Paid support exists only through Zilliz plans.
Regret Patterns
Common reasons users regret choosing Milvus.
Picked Milvus for a small app
A team with under a million vectors adopts a cluster with etcd and object storage and spends more time on ops than search.
Embedding model changed
Schema dim is fixed, so switching model needs a new collection and full re-ingest.
Underestimated RAM
Loaded index and raw data exceed query node memory and nodes get killed.
Disk and etcd neglected
Slow or full disks led to crash loops and lost keepalives.
Cloud bill unpredictable
vCU-based serverless billing is hard to forecast.
When Milvus Breaks Down
Specific scenarios where Milvus fails or underperforms.
Collection larger than query node memory
Load fails or the node is OOM-killed.
Search before index and load
Errors: index not exist and collection not loaded.
etcd disk fills or is slow
Crash loops with database space exceeded or lost keepalive.
Container not ready or port blocked
Connection timeouts on 19530.
Parallel bulk inserts on standalone
DataNode resource not enough.
Docker Desktop default memory
Standalone runs out of memory under load.