Back Home

向量資料庫與檢索

Milvus 3.0.1 Adds a Native Snapshot API and Fixes Storage V3 Data Loss and Unauthenticated gRPC Access

Milvus 3.0.1 enables collection snapshots and asynchronous restores to be managed through REST v2, while moving weighted RRF, L1 reranking, and TEXT field support to the server side. More importantly, the release delivers a concentrated set of consistency and security fixes across streaming deletion, WAL migration, compaction, and authorization paths.

Tim Sträter · CC BY 2.0 · Image source
zh-Hant

Although Milvus 3.0.1 carries a patch-release version number, its scope is closer to that of a production-stabilization release. The new REST v2 API can create collection-scoped native snapshots and initiate asynchronous restores, eliminating the need for backup workflows to manipulate underlying Storage V3 manifests directly. On the search side, the release adds L1 reranking and weighted reciprocal rank fusion, which allows different weights to be assigned to individual ANN subqueries. The Go SDK and REST API also now support TEXT fields. For hybrid retrieval systems, candidate merging and some data-management tasks can now be handled within the database, reducing the need for application-layer code to combine and rank results.

What should matter most to teams considering an upgrade is the set of correctness fixes. The release notes identify several issues: mix compaction could silently lose data when retained records could not be reconstructed; streaming deletion could miss a newly loaded sealed segment; concurrent writes could disappear during WAL backend migration; and certain range predicates, JSON/ARRAY comparisons, time-zone queries, and Storage V3 default values could produce incorrect results. Snapshots could also previously include uncommitted segments, making a restore appear successful even though the data could not actually be loaded. These issues span ingestion, compaction, querying, and disaster recovery, so they cannot be validated with a single recall test alone.

On the security front, 3.0.1 fixes an issue that allowed unauthenticated access to streaming gRPC calls through the external proxy port. It also prevents credentials, API keys, RBAC password hashes, and external collection sources from appearing in logs or error messages. The bcrypt cost has been increased from 4 to 10, but existing hashes must be upgraded through password rotation; installing the release does not automatically recompute them.

Operators should first build acceptance tests around snapshot recovery drills, concurrent writes, and post-deletion queries, then review environments that mix Storage V2 and V3, use CDC imports, or retain legacy HYBRID indexes. The release also introduces several improvements related to memory usage, mmap, index building for external collections, and IOPS control. However, there are few public end-to-end benchmarks spanning different hardware configurations, so any performance gains should still be measured against real data distributions and concurrency levels.

Sources

  1. Release milvus-3.0.1 · milvus-io/milvus
  2. milvus-io/milvus v3.0.1 release notes