2.2.4

Release date: 17 March, 2023

Milvus version Python SDK version Java SDK version Go SDK version Node.js SDK version
2.2.4 2.2.3 2.2.3 2.2.1 2.2.4

Milvus 2.2.4 is a minor update to Milvus 2.2.0. It introduces new features, such as namespace-based resource grouping, collection-level physical isolation, and collection renaming.

In addition to these features, Milvus 2.2.4 also addresses several issues related to rolling upgrades, failure recovery, and load balancing. These bug fixes contribute to a more stable and reliable system.

We have also made several enhancements to make your Milvus cluster faster and consume less memory with reduced convergence time for failure recovery.

New Features

  • Resource grouping

    Milvus has implemented resource grouping for QueryNodes. A resource group is a collection of QueryNodes. Milvus supports grouping QueryNodes in the cluster into different resource groups, where access to physical resources in different resource groups is completely isolated. See Manage Resource Group for more information.

  • Collection renaming

    The Collection-renaming API provides a way for users to change the name of a collection. Currently, PyMilvus supports this API, and SDKs for other programming languages are on the way. See Rename a Collection for details.

  • Google Cloud Storage support

    Milvus now supports Google Cloud Storage as the object storage.

  • New option to the search and query APIs

    If you are more concerned with performance rather than data freshness, enabling this option will skip search on all growing segments and offer better search performance under the scenario search with insertion. See search(/api-reference/pymilvus/v2.2.3/Collection/search().md) and query() for details.

Bugfix

  • Fixed segment not found when forwarding delete to empty segment #22528#22551
  • Fixed possible broken channel checkpoint in v2.2.2 #22205 #22227
  • Fixed entity number mismatch with some entities inserted #22306
  • Fixed DiskANN recovery failure after QueryNode reboots #22488 #22514
  • Fixed search/release on same segment #22414
  • Fixed file system crash during bulk-loading files prefixed with a '.' #22215
  • Added tickle for DataCoord watch event #21193 #22209
  • Fixed deadlock when releasing segments and removing nodes concurrently #22584
  • Added channel balancer on DataCoord #22324 #22377
  • Fixed balance generated reduce task #22236 #22326
  • Fixed QueryCoord panic caused by balancing #22486
  • Added scripts for rolling update Milvus's component installed with helm #22124
  • Added NotFoundTSafer and NoReplicaAvailable to retriable error code #22505
  • Fixed no retires upon gRPC error #22529
  • Fixed an issue for automatic component state update to healthy after start #22084
  • Added graceful-stop for sessions #22386
  • Added retry op for all servers #22274
  • Fixed metrics info panic when network error happens #22802
  • Fixed disordered minimum timestamp in proxy's pchan statistics #22756
  • Fixed an issue to ensure segment ID recovery upon failures to send time-tick #22771
  • Added segment info retrieval without the binlog path #22741
  • Added distribution.Peek for GetDataDistribution in case of blocked by release #22752
  • Fixed the segment not found error #22739
  • Reset delta position to vchannel in packSegmentLoadReq #22721
  • Added vector float data verification for bulkinsert and insert #22729
  • Upgraded Knowhere to 1.3.10 to fix bugs #22746
  • Fixed RootCoord double updates TSO #22715 #22723
  • Fixed confused time-tick logs #22733 #22734
  • Fixed session nil point #22696
  • Upgraded Knowhere to 1.3.10 #22614
  • Fixed incorrect sequence of timetick statistics on proxy#21855 #22560
  • Enabled DataCoord to handle GetIndexedSegment error from IndexCoord #22673
  • Fixed an issue for Milvus writes flushed segment key only after the segment is flushed #22667
  • Marked cache deprecated instead of removing it #22675
  • Updated shard leader cache #22632
  • Fixed an issue for the replica observer to assign node #22635
  • Fixed the not found issue when retrieving collection creation timestamp #22629 #22634
  • Fixed time-tick running backwards during DDLs #22617 #22618
  • Fixed max collection name case #22601
  • Fixed DataNode tickle not run default #22622-
  • Fixed DataCoord panic while reading timestamp of an empty segment #22598
  • Added scripts to get etcd info #22589
  • Fixed concurrent loading timeout during DiskANN indexing #22548
  • Fixed an issue to ensure index file not finish early because of compaction #22509
  • Added MultiQueryNodes tag for resource group #22527 #22544

Enhancement

  • Performance

    • Improved query performance by avoiding counting all bits #21909 #22285
    • Fixed dual copy of varchar fields while loading #22114 #22291
    • Updated DataCoord compaction panic after DataNode update plan to ensure consistency #22143 #22329
    • Improved search performance by avoiding allocating a zero-byte vector during searches #22219 #22357
    • Upgraded Knowhere to 1.3.9 to accelerate IVF/BF #22368
    • Improved search task merge policy #22006 #22287
    • Refined Read method of MinioChunkManager to reduce IO#22257
  • Memory Usage

    • Saved index files by 16m to save memory usage while indexing #22369
    • Added memory usage too large sync policy #22241
  • Others

    • Removed constraints that compaction happens only on indexed segment #22145
    • Changed RocksMQ page size to 256M to reduce RocksMQ disk usage #22433
    • Changed the etcd session timeout to 20s to improve recovery speed#22400
    • Added the RBAC for the GetLoadingProgress and GetLoadState API #22313

项目简介

A cloud-native vector database, storage for next generation AI applications

🚀 Github 镜像仓库 🚀

源项目地址

https://github.com/milvus-io/milvus

发行版本 100

milvus-2.3.0

全部发行版

贡献者 68

全部贡献者

开发语言

  • Go 66.9 %
  • Python 17.7 %
  • C++ 12.2 %
  • Shell 1.5 %
  • Groovy 0.9 %