1236 Commits

Author SHA1 Message Date
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
congqixia
062fc368a5
enhance: Bump milvus & proto version to v2.5.14 (#42967)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-06-26 18:18:43 +08:00
Chun Han
bfa9688da3
enhance: supporting separate chunk cache pool(#42803) (#42901)
related: #42803

1. add a new thread pools using folly::CPUThreadPoolExecutor, named by
FThreadPools
2. reading vectors from chunkcache will use the separated
CHUNKCACHE_POOL to avoid being influenced by load collection
3. Note. For safety on cloud side on 2.5.x, only read-chunk-cache
operations is using this newly created thread pools other caller points
for threadpool will be mutated in the near future
4. master-branch doesn't need this pr as caching layer unified the chunk
cache behaviour

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-06-26 15:52:43 +08:00
aoiasd
7feeeabca5
enhance: [2.5] bm25 stats local cache use local storage path (#42924)
relate: https://github.com/milvus-io/milvus/pull/42923

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-06-25 13:44:46 +08:00
cai.zhang
78b66a29b6
fix: [2.5] Reduce task slot for standalone to 1/4 of normal datanode (#42809)
issue: #42129 

master pr: #42808

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-06-20 16:38:46 +08:00
Zhen Ye
30b2a66f59
fix: rocksmq cannot graceful stop (#42843)
issue: #40532
pr: #42841

Signed-off-by: chyezh <chyezh@outlook.com>
2025-06-19 22:18:40 +08:00
cai.zhang
e30fc0fbaf
enhance: [2.5] Make Web UI toggleable via config (#42815)
issue: #42813

master pr: #42814

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-06-18 12:20:39 +08:00
yihao.dai
f978641d6a
enhance: [2.5] Enhance import integration tests and logs (#42696)
1. Optimize the import process: skip subsequent steps and mark the task
as complete if the number of imported rows is 0.
2. Improve import integration tests:
a. Add a test to verify that autoIDs are not duplicated
b. Add a test for the corner case where all data is deleted
c. Shorten test execution time
3. Enhance import logging:
a. Print imported segment information upon completion
b. Include file name in failure logs

issue: https://github.com/milvus-io/milvus/issues/42488,
https://github.com/milvus-io/milvus/issues/42518

pr: https://github.com/milvus-io/milvus/pull/42612

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-06-16 20:06:38 +08:00
aoiasd
5110130b2e
enhance: add segment bm25 stats local cache (#41775) (#42646)
relate: https://github.com/milvus-io/milvus/issues/41424
pr: https://github.com/milvus-io/milvus/pull/41775

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-06-13 16:50:37 +08:00
Bingyi Sun
a32b55ed71
enhance: support auto index type for json index (#42161)
issue: #42070 
pr: #42071

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-06-09 21:20:34 +08:00
Bingyi Sun
532f10f343
enhance: Support cast function for json index (#42504)
issue: #41948
pr: #41949

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-06-05 20:26:33 +08:00
yihao.dai
28aa364bf7
enhance: [2.5] Adjust default import buffer size (#42542)
Increase insert buffer size from 16MB to 64MB, while keeping delete
buffer size at 16MB.

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

pr: https://github.com/milvus-io/milvus/pull/42541

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-06-05 18:46:33 +08:00
yihao.dai
72a8777c9d
enhance: [2.5] Accelerate dispatcher building (#42544)
Reduce check interval to accelerate dispatcher building.

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

pr: https://github.com/milvus-io/milvus/pull/42500

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-06-05 18:16:33 +08:00
Xianhui Lin
a1927e22a5
fix: add ShowLoadCollections and ShowLoadPartitions for compatibale mixcoord (#42514)
fix: add ShowLoadCollections and ShowLoadPartitions for compatibale
mixcoord
issue:https://github.com/milvus-io/milvus/issues/42492

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-06-05 15:46:33 +08:00
yihao.dai
fdfb78b9e5
fix: [2.5] Fix duplicate autoID between import and insert (#42520)
Remove the unlimited logID mechanism and switch to redundantly
allocating a large number of IDs.

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

pr: https://github.com/milvus-io/milvus/pull/42519

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-06-05 00:54:33 +08:00
congqixia
99c6209ffc
enhance: Bump milvus & proto version to v2.5.13 (#42175)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-05-30 15:28:30 +08:00
liliu-z
1cab5dc2b2
enhance: Make cagra gpu image default (#42193)
pr: #41906
issue: #41907

Signed-off-by: yusheng.ma <yusheng.ma@zilliz.com>
Signed-off-by: Li Liu <li.liu@zilliz.com>
Co-authored-by: presburger <yusheng.ma@zilliz.com>
2025-05-30 03:12:30 +08:00
aoiasd
198ff1f150
enhance: [2.5] support run analyzer by loaded collection field (#42119)
relate: https://github.com/milvus-io/milvus/issues/42094
pr: https://github.com/milvus-io/milvus/pull/42113

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-05-29 10:26:30 +08:00
wei liu
4a05180f88
enhance: [2.5] support balancing multiple collections in single trigger (#41875) (#42134)
issue: #41874
pr: #41875
- Optimize balance_checker to support balancing multiple collections
simultaneously
- Add new parameters for segment and channel balancing batch sizes
- Add enableBalanceOnMultipleCollections parameter
- Update tests for balance checker

This change improves resource utilization by allowing the system to
balance multiple collections in a single trigger with configurable batch
sizes.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-05-28 23:18:30 +08:00
congqixia
6c17cdffd8
enhance: [2.5] Take nq into slow query consideration (#42109) (#42125)
Cherry-pick from master
pr: #42109
Related to #40756

Large nq will naturally increase query time, which causing lots of slow
log when user NQ numbers are very large.

This PR make slow search counts span per nq (using avg val) to decide
whether one request is slow or not.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-05-28 19:02:30 +08:00
Xianhui Lin
0490344442
fix: support TTL expiration with queries returning no results (#42103)
support TTL expiration with queries returning no results
issue:https://github.com/milvus-io/milvus/issues/41959
pr:https://github.com/milvus-io/milvus/pull/42086

---------

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-05-27 15:18:28 +08:00
groot
a48001f999
feat: support to drop properties of field (#41954)
issue: https://github.com/milvus-io/milvus/issues/41990
pr: https://github.com/milvus-io/milvus/pull/41996

Signed-off-by: yhmo <yihua.mo@zilliz.com>
2025-05-27 14:32:34 +08:00
Xianhui Lin
0574fc7b7b
enhance: support TTL expiration with queries returning no results (#41960)
support TTL expiration with queries returning no results
issue:https://github.com/milvus-io/milvus/issues/41959
pr:https://github.com/milvus-io/milvus/pull/41720

---------

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-05-26 15:52:28 +08:00
Chun Han
81ed143132
enhance: refine expiring compaction(#41336) (#42052)
related: #41336
pr: https://github.com/milvus-io/milvus/pull/42056

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-05-25 16:44:27 +08:00
yihao.dai
83ca664150
fix: [2.5] Fix import slot assignment (#41982)
Assign the import task to the worker with the most available slots, even
if availableSlots < requiredSlots. This ensures tasks won’t be blocked
indefinitely.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-05-23 01:36:30 +08:00
SimFG
00336a8c4c
enhance: [2.5] add privilege group message types and corresponding tests (#41940)
- issue: #41938
- pr: #41939

Signed-off-by: SimFG <bang.fu@zilliz.com>
2025-05-21 11:12:29 +08:00
Chun Han
043e333290
enhance: support strict expiry compaction for milvus(#41855) (#41856)
related: #41855

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-05-19 09:50:24 +08:00
yihao.dai
7c8370ccd2
fix: [2.5] Fix ants.Pool goroutine leak (#41893)
1. Release the pool after it is no longer in use.
2. Upgrade ants.Pool to fix the goroutine leak issue (see
https://github.com/panjf2000/ants/pull/287).

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

pr: https://github.com/milvus-io/milvus/pull/41892

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-05-16 19:12:22 +08:00
aoiasd
daf745ffa3
fix: [2.5] hybird search sub requset not set analyzer name (#41897)
relate: https://github.com/milvus-io/milvus/issues/41213
pr: https://github.com/milvus-io/milvus/pull/41896

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-05-16 17:58:22 +08:00
congqixia
e0c79ffee8
enhance: Bump milvus & proto version to v2.5.12 (#41888)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-05-16 13:06:23 +08:00