10490 Commits

Author SHA1 Message Date
congqixia
7514eece4c
enhance: [2.5] Add mutex and range check preventing concurrent del (#44128) (#44202)
Cherry-pick from master
pr: #44128
This PR adds a mutex prevent concurrent applying delete on same segment
and check latestDeltaTimestamp to skip overlapping delete range

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-04 10:35:54 +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
Bingyi Sun
d658b6f50a
enhance: remove name check for alter index task (#42953) (#44056)
pr: #42953 
issue: https://github.com/milvus-io/milvus/issues/42952

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-02 10:23:54 +08:00
zhagnlu
4ff9e49a99
fix:expand lock range for dump_snapshot (#44131)
cherry-pick from pr: #44130

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2025-09-01 16:25:54 +08:00
congqixia
94acb811bb
fix: [2.5] Invalidate proxy cache for create alias op (#43854) (#44073)
Cherry-pick from master
pr: #43854
Related to #43853

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-27 16:19:51 +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
95f6b1ff89
enhance: [2.5] Use function def determine field IsFunctionOutput only (#43979) (#44009)
Cherry-pick from master
pr: #43979
Related to #35853

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-22 16:55:48 +08:00
congqixia
0fceece818
enhance: [2.5] Use RLock for ListPrivilegeGroups (#43998) (#44006)
Cherry-pick from master
pr: #43998
Related to #43901

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-22 10:31:47 +08:00
Alexander Guzhva
5903f049fb
enhance: Fix ArithHelperI64 for SVE in bitset (#43953)
pr: #43952

Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
2025-08-19 22:49:43 +08:00
Alexander Guzhva
84b7ec880d
enhance: remove duplicate code in ArithHelperF32 in SVE for bitset (#43951)
pr: #43950

Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
2025-08-19 22:38:44 +08:00
liliu-z
bd9fd42310
enhance: Fix template declaration order for ArithHelperF32 in SVE implemementation (#43948)
pr: #43949

Signed-off-by: Li Liu <li.liu@zilliz.com>
2025-08-19 22:00:39 +08:00
wei liu
39754af727
fix: Fix L0 segment loading delegator selection in QueryCoord (#43795)
issue: #43794
Fix the issue where L0 segments were not correctly selecting appropriate
delegators during loading, which could cause load failures or incorrect
delegator assignments.

Changes include:
- Add special handling for L0 segments in delegator selection logic
- Find delegators that are missing the L0 segment for direct loading
- Fallback to existing serviceable delegator selection when no suitable
delegator is found for L0 segments
- Add comprehensive test coverage for L0 segment loading scenarios
- Test delegator selection when some delegators are missing segments
- Test fallback behavior when all delegators already have the segment
- Test error handling when no delegators are available

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-08-19 16:35:47 +08:00
liliu-z
a6bfa25054
enhance: Cp sve support for bitset (#43928)
pr: #43833

Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
Signed-off-by: Li Liu <li.liu@zilliz.com>
Co-authored-by: Alexander Guzhva <alexanderguzhva@gmail.com>
2025-08-19 16:33:47 +08:00
sthuang
c6e6bcece4
enhance: [2.5] avoid frequent LoadWithPrefix etcd calls in ShowCollections and DescribeCollections (#43903)
pr: #43902
related: https://github.com/milvus-io/milvus/issues/43901

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2025-08-19 12:29:46 +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
Bingyi Sun
26883919de
fix: Fix wrong null offsets for json path index (#43823)
pr: #43390
issue: https://github.com/milvus-io/milvus/issues/43315

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-08-18 14:47: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
1644d0b288
enhance: [2.5] Improve error message when query vector and dim mismatch (#43836)
/kind improvement

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-08-18 10:23:45 +08:00
Xianhui Lin
7141f96f00
fix: [2.5]add segment lock in LoadTextIndex and LoadJSONKeyIndex (#43815)
fix: add segment lock in LoadTextIndex and LoadJSONKeyIndex
issue:https://github.com/milvus-io/milvus/issues/43572
pr: https://github.com/milvus-io/milvus/pull/43811

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-08-18 10:21:57 +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
congqixia
832244faba
enhance: [2.5] Refine error message for restful default value check (#43842) (#43860)
Cherry-pick from master
pr: #43842
Related to #43818

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-14 17:01:45 +08:00
zhagnlu
6d86aade6c
fix: fix delete consumer bug for cocurrency R-W (#43831) (#43855)
pr: #43831

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2025-08-14 10:19:43 +08:00
congqixia
fb0d9b7021
fix: [2.5] Use proto.Equal to compare default value of field (#43813) (#43832)
Cherry-pick from master
pr: #43813
Related to #43796

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-12 18:09:44 +08:00
yihao.dai
fa51bbe23c
enhance: [2.5] Fix parquet import OOM (#43757)
Each ColumnReader consumes ReaderProperties.BufferSize memory
independently. Therefore, the bufferSize should be divided by the number
of columns to ensure total memory usage stays within the intended limit.

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

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-08-09 10:11:42 +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
Xiaofan
51b3d246f9
fix: hybridsearch should support offset param in restful api related (#43721)
related to #43556 , pr: #43586

Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
2025-08-04 20:59:39 +08:00
aoiasd
305524f99a
fix: jieba tokenizer cause panic when dict word was empty string (#43337) (#43718)
pr: https://github.com/milvus-io/milvus/pull/43337
relate: https://github.com/milvus-io/milvus/issues/42779

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-08-04 20:57:48 +08:00
Chun Han
f033294dc1
fix: try to get span raw data for variable length data type(#43544) (#43703)
related: #43544
pr: https://github.com/milvus-io/milvus/pull/43705

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-08-04 11:25:39 +08:00
congqixia
1a2871b628
enhance: [2.5] Remove collection name validation from DescribeCollection (#43300)
Cherry-pick from master
pr: #43299
Related to #43031

Previous pr: #43064

Since old version may create collection with invalidate collection name,
milvus shall allow some API to let user notice such collection still
exists.

This patch removes collection name validation from `DescribeCollection`
call, letting user know that such collection still exists.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-08-04 10:51:04 +08:00
Xianhui Lin
e44df1c583
fix: increment offset for invalid data rows in JsonKeyStatsInvertedIndex (#43688)
fix: increment offset for null data rows in JsonKeyStatsInvertedIndex
issue: https://github.com/milvus-io/milvus/issues/43151
pr:https://github.com/milvus-io/milvus/pull/43679

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-08-03 13:11:38 +08:00
wei liu
80d1ef74ce
fix: apply load config changes failed after restart (#43555)
issue: #43107
pr: #43554

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-08-01 20:17:37 +08:00
Bingyi Sun
cc21855174
enhance: unlink mmap file when chunk and index are destructed (#43546)
pr: https://github.com/milvus-io/milvus/pull/43524
issue: https://github.com/milvus-io/milvus/issues/41636

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-08-01 11:17:37 +08:00
zhagnlu
ea7307747a
fix: fix pk in [..] skip next batch when using multi-chunk segment (#43619)
pr: #43618

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2025-07-31 16:59:37 +08:00
wei liu
75463725b3
fix: skip loading non-existent L0 segments to prevent load blocking (#43576)
issue: #43557
In 2.5 branch, L0 segments must be loaded before other segments. If an
L0 segment has been garbage collected but is still in the target list,
the load operation would keep failing, preventing other segments from
being loaded.

This patch adds a segment existence check for L0 segments in
getSealedSegmentDiff. Only L0 segments that actually exist will be
included in the load list.

Changes:
- Add checkSegmentExist function parameter to SegmentChecker constructor
- Filter L0 segments by existence check in getSealedSegmentDiff
- Add unit tests using mockey to verify the fix behavior

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-07-31 14:33:38 +08:00
zhagnlu
4b8e8bd9fd
enhance: using set element for string term type (#43393)
pr: #43049

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2025-07-31 10:43:38 +08:00
SimFG
33e4bcc689
fix: [2.5] Clean privilege cache after loading policy in InitPolicyInfo (#43643)
- issue: #43641
- pr: #43642

Signed-off-by: SimFG <bang.fu@zilliz.com>
2025-07-30 18:07:37 +08:00
XuanYang-cn
78a5fce7f4
fix: [cp25]Set status when err is not empty (#43404)
See also: #43341
pr: #43403

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-07-30 17:47:37 +08:00
foxspy
bb528ba065
enhance: [2.5]update knowhere version (#43623)
issue: #42937 
related: #43528 https://github.com/zilliztech/knowhere/pull/1278
pr: #43528

Signed-off-by: xianliang <xianliang.li@zilliz.com>
2025-07-29 17:27:38 +08:00
Chun Han
72bf4ebbbd
fix: return id by default(#43595) (#43596)
related: #43595
pr: https://github.com/milvus-io/milvus/pull/43601

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-07-29 15:53:36 +08:00
wei liu
4631657304
fix: Unstable integration case TestBalanceOnSingleReplica (#43552)
issue: #42930

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-07-25 10:52:55 +08:00
Chun Han
a8c28d174f
fix: fail to get string views due to chunk bound empty loop(#41300) (#43482)
related: #41300
pr: https://github.com/milvus-io/milvus/pull/41452

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-07-25 10:16:54 +08:00
yihao.dai
4204c0473e
fix: [2.5] Ignore 2.6 Proxy to avoid timetick lag (#43519)
During the rolling upgrade from 2.5 to 2.6, the 2.5 coordinator detects
newly started 2.6 proxies. However, 2.6 proxies do not sync timetick,
which leads to timetick delay. This PR ignores 2.6 proxies to prevent
ttDelay during the upgrade process.

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-07-23 22:40:54 +08:00
cai.zhang
2a516697c2
enhance: [2.5] Only download necessary fields during clustering analyze phase (#43362)
issue: #43310 

master pr: #43322

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-07-23 10:18:53 +08:00
cai.zhang
3ed3bf92e5
fix: [2.5] Ensure task execution order by using a priority queue (#43272)
issue: #43260 
master pr: #43271

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-07-23 10:16:54 +08:00
aoiasd
fe39128021
enhance: update lindera version (#43457)
relate: https://github.com/milvus-io/milvus/issues/43120
pr: https://github.com/milvus-io/milvus/pull/43121

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-07-22 19:56:53 +08:00
Chun Han
ebb1ff35bb
fix: refine judgement for batch views(#38736) (#43479)
related: #38736
pr: https://github.com/milvus-io/milvus/pull/43481

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-07-22 14:54:53 +08:00