Commit Graph

10479 Commits (2.5)

Author SHA1 Message Date
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
wei liu ad0bf9cad8
enhance: Optimize channel node balancing for uneven QN distribution (#42786) (#43423)
issue: #42860
pr: #42786
Fix channel node allocation when QueryNode count is not a multiple of
channel count. The previous algorithm used simple division which caused
uneven distribution with remainders.

Key improvements:
- Implement smart remainder distribution algorithm
- Refactor large function into focused helper functions
- Support two-phase rebalancing (release then allocate)
- Handle edge cases like insufficient nodes gracefully

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-07-21 17:04:54 +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 b657c076a4
fix: "fix: [2.5] Align null bitmap offset when loading multi-chunk (#43342)" (#43411)
Related to #43389
alternative of #43395

This reverts commit e54d92447c.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-07-18 17:14:52 +08:00
Spade A ecf011aeb1
fix: update tantivy for fixing dir removing race condition #43399 (#43401)
pr: https://github.com/milvus-io/milvus/pull/43399
issue: https://github.com/milvus-io/milvus/issues/43258

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-07-18 16:56:52 +08:00
foxspy a6b2284de6
enhance: [2.5]update knowhere version (#43398)
issue: #42937 
/kind branch-feature

Signed-off-by: xianliang <xianliang.li@zilliz.com>
2025-07-18 16:20:52 +08:00
cai.zhang 867cab9ac1
fix: [2.5] Call AlterCollection when only rename collection (#43421)
issue: #43407 

master pr: #43420

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-07-18 15:47:07 +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
congqixia e54d92447c
fix: [2.5] Align null bitmap offset when loading multi-chunk (#43321) (#43342)
Cherry-pick from master
pr: #43321
Related to #43262

This patch fixes following logic bug:
- When multiple chunks are loaded and size cannot be divided by 8, just
appending uint8_t as bitmap will cause null bitmap dislocation
- `null_bitmap_data()` points to start of whole row group, which may not
stand for current `arrow::Array`

The current solutions is:
- Reorganize the null_bitmap with currect size & offset
- Pass `array->offset()` in tuple to info the current offset

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-07-17 12:16:52 +08:00
zhagnlu 385112e7e3
fix:fix text_match bug because of not adapting to multi-chunk model (#43297)
pr: #43303

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2025-07-17 11:22:53 +08:00
Alexander Guzhva 71c0f64a16
fix: [2.5] fix incorrect bitset for the division comparison when the right is < 0 (#43180)
issue: #42900 
pr: #43179 

Upd: also handles Inf and NaN values, and the division by zero case for
fp32 and fp64

Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
2025-07-16 15:36:52 +08:00