1265 Commits

Author SHA1 Message Date
Xiaofan
08bc450518
enhance: support configurable estimation on variable legnth field (#46301)
fix: #46300
pr: #46302

Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
2025-12-12 20:30:40 +08:00
cai.zhang
9b4b0cb808
enhance: [2.5] Estimate the taskSlot based on whether scalar or vector index (#46260)
issue: #45186
master pr: #45850

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-12-11 15:43:14 +08:00
congqixia
9e85eb4d04
enhance: Bump milvus & proto version to v2.5.24 (#46134)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-12-05 16:39:11 +08:00
congqixia
571295e945
enhance: [2.5] Bump go version to 1.24.11 fixing CVE #46077 (#46114)
Cherry-pick from master
pr: #46034 #46049
Fixing CVE-2025-61729

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-12-05 15:31:11 +08:00
congqixia
f60211583e
enhance: [2.5] Bump golang.org/x/crypto fixing CVE(#45975) (#46112)
Cherry-pick from master
pr: #45975
Related to #45976

Bump golang.org/x/crypto to v0.45.0 fixing CVE-2025-47914

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-12-05 14:33:27 +08:00
congqixia
0ddc9c947a
enhance: Bump milvus & proto version to v2.5.23 (#45677)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-19 15:23:14 +08:00
congqixia
53e86f53b4
enhance: Bump milvus & proto to v2.5.22 (#45498)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-13 09:59:38 +08:00
aoiasd
7ad68910d9
enhance: [2.5] skip check source id (#45383)
pr: https://github.com/milvus-io/milvus/pull/45377
relate:https://github.com/milvus-io/milvus/issues/45381

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-11-07 15:21:42 +08:00
congqixia
6dd7b7c197
enhance: [2.5] Bump go version to 1.24.9 (#45370)
Cherry-pick from master
pr: #45359 
Fixing CVE-2025-58187

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-07 10:19:35 +08:00
sparknack
91645d9242
enhance: [2.5] unify the aligned buffer for both buffered and direct I/O (#45324)
issue: #43040
pr: #45323

Signed-off-by: Shawn Wang <shawn.wang@zilliz.com>
2025-11-06 10:55:35 +08:00
congqixia
ec5189f9c4
enhance: Bump milvus & proto version to v2.5.21 (#45297)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-05 10:55:33 +08:00
cai.zhang
cc9735ff4f
enhance: [2.5]Make GeometryCache an optional configuration (#45197)
issue: #45187 
master pr: #45192

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-03 20:31:34 +08:00
congqixia
93fb9a4b18
enhance: Bump milvus & proto version to v2.5.20 (#45140)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-30 10:46:09 +08:00
cai.zhang
e58cd7fcc4
fix: [2.5]Fix bug for importing Geometry data (#45091)
issue: https://github.com/milvus-io/milvus/issues/44787 ,
https://github.com/milvus-io/milvus/issues/45012
master pr: https://github.com/milvus-io/milvus/pull/45089

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-10-29 18:48:13 +08:00
wei liu
47949fd883
enhance: Implement rewatch mechanism for etcd failure scenarios (#43829) (#43920)
issue: #43828
pr: #43829 #43909
Implement robust rewatch mechanism to handle etcd connection failures
and node reconnection scenarios in DataCoord and QueryCoord, along with
heartbeat lag monitoring capabilities.

Changes include:
- Implement rewatchDataNodes/rewatchQueryNodes callbacks for etcd
reconnection scenarios
- Add idempotent rewatchNodes method to handle etcd session recovery
gracefully
- Add QueryCoordLastHeartbeatTimeStamp metric for monitoring node
heartbeat lag
- Clean up heartbeat metrics when nodes go down to prevent metric leaks

---------

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
Co-authored-by: Zhen Ye <chyezh@outlook.com>
2025-10-15 14:12:01 +08:00
jiaqizho
00ef6032c6
enhance:[2.5] Introduce sparse filter in query (#44347) (#44790)
pr: #44347

Signed-off-by: jiaqizho <jiaqi.zhou@zilliz.com>
2025-10-14 15:02:01 +08:00
congqixia
c30cb6c283
enhance: [2.5] Add accesslog field for template value length info (#44723) (#44791)
Cherry-pick from master
pr: #44723 
Related to #36672

Add accesslog field displaying value length for search/query request may
help developers debug related issues

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-13 14:29:58 +08:00
congqixia
17a91f3bdf
enhance: Bump milvus & proto version to v2.5.19 (#44693)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-11 11:37:58 +08:00
congqixia
7f52c02871
enhance: [2.5] Bump go verion to 1.24.6 (#44718)
Bump go verion to v1.24.6 fixing CVE-2025-47907

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-10 14:45:57 +08:00
wei liu
892d63d26e
enhance: [2.5] Refactor balance checker with priority queue (#43992) (#44588)
issue: #43858
pr: #43992
Refactor the balance checker implementation to use priority queues for
managing collection balance operations, improving processing efficiency
and order control.

Changes include:
- Export priority queue interfaces (Item, BaseItem, PriorityQueue)
- Replace collection round-robin with priority-based queue system
- Add BalanceCheckCollectionMaxCount configuration parameter
- Optimize balance task generation with batch processing limits
- Refactor processBalanceQueue method for different strategies
- Enhance test coverage with comprehensive unit tests

The new priority queue system processes collections based on row count
or collection ID order, providing better control over balance operation
priorities and resource utilization.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-09-28 19:23:05 +08:00
wei liu
3a7a08f2b3
enhance: [2.5] Add granular flush targets support for FlushAll operation (#44431)
issue: #44156
pr: #44234
Enhance FlushAll functionality to support targeting specific collections
within databases instead of only database-level flushing.

Changes include:

- Add FlushAllTarget message in data_coord.proto for granular targeting
- Support collection-specific flush operations within databases
- Maintain backward compatibility with deprecated db_name field

This enhancement allows users to flush specific collections without
affecting other collections in the same database, providing more precise
control over data persistence operations.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-09-28 10:37:06 +08:00
Bingyi Sun
2e0c0c08bb
feat: allow users to write pk field when autoid is enabled (#44520)
issue: https://github.com/milvus-io/milvus/issues/44011
pr: https://github.com/milvus-io/milvus/pull/44424

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-24 20:26:06 +08:00
congqixia
d251e102b6
enhance: [2.5] Add param item for hybrid search requery policy (#44467)
Cherry-pick from master
pr: #44466
related to #39757

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-24 17:52:07 +08:00
congqixia
aadb99c716
fix: [2.5] Cleanup collection metrics after dropped on rootcoord (#44511) (#44525)
Cherry-pick from master
pr: #44511
Related to #44509

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-24 09:56:06 +08:00
Bingyi Sun
8b0bfe4cd8
feat: encode cluster id in auto id (#44471) (#44500)
pr: #44471 
https://github.com/milvus-io/milvus/issues/44326
prev:
[physical_ts][logical_ts]
after
[sign_bit][cluster_id][physical_ts][logical_ts]

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-22 20:30:10 +08:00
congqixia
1b0bf82b22
enhance: Bump milvus & proto version to v2.5.18 (#44468)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-19 17:20:02 +08:00
cai.zhang
7ef76058d5
enhance: Support gis filter operator st_dwithin (#44392)
issue: #43427

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-16 22:44:03 +08:00
cai.zhang
a2bb36a6dc
enhance: [2.5] Remove timeout for compaction task (#44278)
issue: #44272 
master pr: #44277

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-15 21:24:01 +08:00
congqixia
5d54d84438
enhance: [2.5] Add param item forcing all indices ready for segment (#44329)
Cherry-pick from master
pr: #44313
Related to #44312

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-12 19:29:58 +08:00
cai.zhang
877e68f851
enhance: Support R-Tree index for geometry datatype (#44069)
issue: #43427
pr: #37417

Support R-Tree index for geometry datatype.

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
Co-authored-by: ZhuXi <150327960+Yinwei-Yu@users.noreply.github.com>
2025-09-11 14:19:58 +08:00
zhagnlu
802026569d
enhance:add param to modify delete snapshot size (#44213)
pr: #44215

Co-authored-by: luzhang <luzhang@zilliz.com>
2025-09-05 14:31:56 +08:00
cqy123456
c17ce3cf90
enhance:[2.5]minhash support and add autoindex config (#44015)
master pr: https://github.com/milvus-io/milvus/pull/44186

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
2025-09-03 17:39:54 +08:00
ZhuXi
cd931a0388
feat:Geospatial Data Type and GIS Function support for milvus (#43661)
issue: #43427
pr: #37417

This pr's main goal is merge #37417 to milvus 2.5 without conflicts.

# Main Goals

1. Create and describe collections with geospatial type
2. Insert geospatial data into the insert binlog
3. Load segments containing geospatial data into memory
4. Enable query and search can display  geospatial data
5. Support using GIS funtions like ST_EQUALS in query

# Solution

1. **Add Type**: Modify the Milvus core by adding a Geospatial type in
both the C++ and Go code layers, defining the Geospatial data structure
and the corresponding interfaces.
2. **Dependency Libraries**: Introduce necessary geospatial data
processing libraries. In the C++ source code, use Conan package
management to include the GDAL library. In the Go source code, add the
go-geom library to the go.mod file.
3. **Protocol Interface**: Revise the Milvus protocol to provide
mechanisms for Geospatial message serialization and deserialization.
4. **Data Pipeline**: Facilitate interaction between the client and
proxy using the WKT format for geospatial data. The proxy will convert
all data into WKB format for downstream processing, providing column
data interfaces, segment encapsulation, segment loading, payload
writing, and cache block management.
5. **Query Operators**: Implement simple display and support for filter
queries. Initially, focus on filtering based on spatial relationships
for a single column of geospatial literal values, providing parsing and
execution for query expressions.Now only support brutal search
6. **Client Modification**: Enable the client to handle user input for
geospatial data and facilitate end-to-end testing.Check the modification
in pymilvus.

---------

Signed-off-by: Yinwei Li <yinwei.li@zilliz.com>
Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
Co-authored-by: cai.zhang <cai.zhang@zilliz.com>
2025-08-26 19:11:55 +08:00
Ted Xu
8821743c17
enhance: returning collection metadata from cache (#42823) (#43911)
See #43187
pr: #42823

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2025-08-26 14:23:54 +08:00
zhagnlu
6c29689ca2
enhance: support expr result cache (#43882)
cherry-pick from pr: #43923

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2025-08-26 11:19:57 +08:00
cqy123456
a1ff6c89be
enhance:[2.5] Make build ratio of interim index configurable (#43938)
issue: https://github.com/milvus-io/milvus/issues/43993
master pr: https://github.com/milvus-io/milvus/pull/43939

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
2025-08-25 16:01:52 +08:00
congqixia
8748a59a62
enhance: Bump milvus & proto version to v2.5.17 (#43906)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-19 16:37:47 +08:00
sparknack
b57d104742
enhance: [2.5] add write rate limit for disk file writer (#43856)
issue: https://github.com/milvus-io/milvus/issues/43040
pr: #43912

---------

Signed-off-by: Shawn Wang <shawn.wang@zilliz.com>
2025-08-18 23:33:46 +08:00
congqixia
1f7bb41102
enhance: [2.5] Add downgrade tsafe switch param item (#43874) (#43886)
Cherry-pick from master
pr: #43874
Related to #43873

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-18 10:41:46 +08:00
yihao.dai
16d1947d5c
enhance: [2.5] Adjust import task concurrency based on CPU count (#43817)
pr: https://github.com/milvus-io/milvus/pull/43132

issue: https://github.com/milvus-io/milvus/issues/43131

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-08-18 01:11:45 +08:00
sparknack
4d944aecf7
enhance: add disk file writer with Direct IO support (#43692)
issue: #43040
pr: #42665 

This patch introduces a disk file writer that supports Direct IO.

Currently, it is exclusively utilized during the QueryNode load process.

Below is its parameters:

1. `common.diskWriteMode` This parameter controls the write mode of the
local disk, which is used to write temporary data downloaded from remote
storage. Currently, only QueryNode uses 'common.diskWrite*' parameters.
Support for other components will be added in the future.
The options include 'direct' and 'buffered'. The default value is
'buffered'.

2. `common.diskWriteBufferSizeKb` Disk write buffer size in KB, only
used when disk write mode is 'direct', default is 64KB.
Current valid range is [4, 65536]. If the value is not aligned to 4KB,
it will be rounded up to the nearest multiple of 4KB.

3. `common.diskWriteNumThreads` This parameter controls the number of
writer threads used for disk write operations. The valid range is [0,
hardware_concurrency]. It is designed to limit the maximum concurrency
of disk write operations to reduce the impact on disk read performance.
For example, if you want to limit the maximum concurrency of disk write
operations to 1, you can set this parameter to 1.
The default value is 0, which means the caller will perform write
operations directly without using an additional writer thread pool. In
this case, the maximum concurrency of disk write operations is
determined by the caller's thread pool size.

Both parameters can be updated during runtime.

---------

Signed-off-by: Shawn Wang <shawn.wang@zilliz.com>
2025-08-08 12:13:41 +08:00
Spade A
a3c5e2e3c3
feat: support phrase match query for 2.5 (#43716)
pr: https://github.com/milvus-io/milvus/pull/38869
issue: https://github.com/milvus-io/milvus/issues/38930

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-08-08 11:35:41 +08:00
congqixia
a7c80729be
enhance: Bump milvus & proto version to v2.5.16 (#43686)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-04 11:27:39 +08:00
SimFG
8b2067a249
enhance: [2.5] Upgrade go version to 1.24.4 to fix CVEs (#43467)
- pr: #43019
/kind imporvement

Signed-off-by: liliu-z <liliu-z@users.noreply.github.com>
Co-authored-by: liliu-z <liliu-z@users.noreply.github.com>
2025-07-23 10:24:53 +08:00
congqixia
3a3b374f11
enhance: Bump milvus & proto version to v2.5.15 (#43433)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-07-18 19:02:52 +08:00
congqixia
8e957a203d
enhance: [2.5] Skip remove op if key in save set (#43426)
Cherry-pick from master
pr: #43425
Related to #43407

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-07-18 17:36:58 +08:00
congqixia
b53e9e80d3
fix: [2.5] Make MultiSaveAndRemove execute removal first (#43409)
Cherry-pick from master
pr: #43408 
Related to #43407

When `MultiSaveAndRemove` like ops contains same key in saves and
removal keys it may cause data lost if the execution order is save first
than removal.

This PR make all the kv execute removal first then save the new values.
Even when same key appeared in both saves and removals, the new value
shall stay.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-07-18 15:44:56 +08:00
XuanYang-cn
1165a5300f
fix: [cp25]Use diskSegmentMaxSize for coll with sparse and dense vectors (#43195)
Previous code uses diskSegmentMaxSize if and only if all of the
collection's vector fields are indexed with DiskANN index.

When introducing sparse vectors, since sparse vector cannot be indexed
with DiskANN index, collections with both dense and sparse vectors will
use maxSize instead.

This PR changes the requirments of using diskSegmentMaxSize to all dense
vectors are indexed with DiskANN indexs, ignoring sparse vector fields.

See also: #43193
pr: #43194

---------

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-07-18 11:16:52 +08:00
wei liu
4952b8c416
enhance: apply load config changes after QueryCoord restart (#43108) (#43236)
issue: #43107
pr: #43108
- Add checkLoadConfigChanges() to apply load config during startup
- Call config check in startQueryCoord() after restart
- Skip auto-updates for collections with user-specified replica numbers
- Add is_user_specified_replica_mode field to preserve user settings
- Add comprehensive unit tests with mockey

Ensures existing collections use latest cluster-level config after
restart.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-07-14 10:22:50 +08:00
wei liu
73210303a9
fix: Fix exclude nodes clearing logic position in load balancer retry (#43002)
issue: #42994
pr: #42577 #40438

cp partial logic from pr #42577 and #40438

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-06-30 16:10:44 +08:00