23396 Commits

Author SHA1 Message Date
Zhen Ye
78c479ce9b
fix: panic when streaming coord shutdown but query coord still work (#45696)
issue: #44984
pr: #45695

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-20 12:05:09 +08:00
Bingyi Sun
e4a85ab92e
enhance: optimize term expr performance (#45671)
issue: https://github.com/milvus-io/milvus/issues/45641
pr: https://github.com/milvus-io/milvus/pull/45491

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-11-19 19:43:06 +08:00
Gao
08ae6b5fcc
enhance: [2.6]prefetch vector chunks for sealed non-indexed segments (#45666)
pr: https://github.com/milvus-io/milvus/pull/45665

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2025-11-19 18:41:07 +08:00
cai.zhang
6878de25ff
fix: [2.6] Set task init when worker doesn't have task (#45676)
issue: #45674 
master pr: #45675

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-19 18:19:07 +08:00
wei liu
ccc993bbb3
fix: Prevent deadlock in runComponent when Prepare fails (#45609) (#45647)
issue: #45608
pr: #45609
When component.Prepare() fails (e.g., net listener creation error), the
sign channel was never closed, causing runComponent to block
indefinitely at <-sign. This resulted in the entire process hanging
after logging the error message.

Changes:
- Move close(sign) to defer statement in runComponent goroutine
- Ensures sign channel is always closed regardless of success/failure
- Allows proper error propagation through future.Await() mechanism

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-11-19 16:43:09 +08:00
Zhen Ye
f288f698e3
fix: panic when double close channel of ack broadcast (#45662)
issue: #45635
pr: #45661

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-19 14:35:08 +08:00
foxspy
3203119153
enhance: [2.6] update knowhere version (#45565)
issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-11-19 10:56:44 +08:00
zhenshan.cao
442bd23583
fix: correct default value backfill during AddField (#45644)
issue: https://github.com/milvus-io/milvus/issues/44585
pr: https://github.com/milvus-io/milvus/pull/45634

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
2025-11-19 10:03:04 +08:00
Zhen Ye
bafa5bd4c9
fix: compact the assignment history of channel to decrease the size of assignment recovery info (#45607)
issue: #45210
pr: #45606

If the underlying WAL is failed to open, the recovery info size of
streaming coord streamingcoord-meta/pchannel will increase fast until
reaching the etcd limitation.
So make a compaction by serverID at assignment history to decrease the
streamingcoord-meta/pchannel size.

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-18 13:13:39 +08:00
congqixia
15a6a995f6
fix: [2.6] update EnableDynamicField and SchemaVersion during collection modification (#45616)
Cherry-pick from master
pr: #45615
Related to #45614

This commit fixes a bug where certain collection attributes were not
properly updated during collection modification, causing metadata errors
after cluster restart and collection reload failures.

When altering a collection, the `EnableDynamicField` and `SchemaVersion`
attributes were not being persisted to the catalog. This caused
inconsistencies between the in-memory collection metadata and the
persisted state, leading to:
- Dynamic field validation failures after restart
- Collection loading errors
- Metadata state mismatches

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-18 10:49:39 +08:00
congqixia
7be311320c
fix: [2.6] Handle default values correctly during compaction for added fields (#45619)
Cherry-pick from master
pr: #45572
Related to #45543

When a field with a default value is added to a collection, the default
value becomes null after compaction instead of retaining the expected
default value.

**Root Cause**
The `appendValueAt` function in `internal/storage/arrow_util.go`
incorrectly checked if the entire arrow.Array was nil before handling
default values. This meant that default values were only applied when
the array itself was nil, not when individual field values were null
(which is the correct condition).

**Changes**
1. **Early nil check**: Added a guard at the function entry to detect
nil arrow.Array and return an error immediately, as this is an
unexpected condition that should not occur during normal operation.

2. **Refactored default value handling**: Removed the per-type nil array
checks and moved default value logic to handle individual null values
within the array (when `IsNull(idx)` returns true).

3. **Applied to all types**: Updated the logic consistently across all
builder types:
   - BooleanBuilder
   - Int8Builder, Int16Builder, Int32Builder, Int64Builder
   - Float32Builder
   - StringBuilder
   - BinaryBuilder (added default value support for internal $meta json)
   - ListBuilder (removed unnecessary nil check)

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-18 10:13:39 +08:00
sparknack
aa5cd951a1
enhance: expr: [2.6] only prefetch chunks once (#45555)
issue: https://github.com/milvus-io/milvus/issues/43611
pr: #45554

Signed-off-by: Shawn Wang <shawn.wang@zilliz.com>
2025-11-17 14:56:27 +08:00
wei liu
c33d6a0f49
enhance: Add nullable support for Geometry and Timestamptz types (#44846) (#45522)
issue: #44800
pr: #44846
This commit enhances the upsert and validation logic to properly handle
nullable Geometry (WKT/WKB) and Timestamptz data types:

- Add ToCompressedFormatNullable support for TimestamptzData,
GeometryWktData, and GeometryData to filter out null values during data
compression
- Implement GenNullableFieldData for Timestamptz and Geometry types to
generate nullable field data structures
- Update FillWithNullValue to handle both GeometryData and
GeometryWktData with null value filling logic
- Add UpdateFieldData support for Timestamptz, GeometryData, and
GeometryWktData field updates
- Comprehensive unit tests covering all new data type handling scenarios

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-11-14 18:53:38 +08:00
wei liu
15cf0c5147
enhance: increase session TTL from 10s to 30s (#45228) (#45517)
issue: #45227
pr: #45228
Increase the default session TTL to 30 seconds to tolerate etcd failover
time. This prevents session expiration during etcd cluster failover,
improving system stability.

When etcd undergoes failover (leader election or node restart), the
previous 10s TTL was too short to survive the failover window, causing
unnecessary session expiration and component restarts. The new 30s TTL
provides sufficient buffer for etcd to complete failover while
maintaining session liveness.

Changes:
- Update DefaultSessionTTL constant from 10 to 30
- Update SessionTTL ParamItem DefaultValue from "10" to "30"

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-11-14 18:07:39 +08:00
Zhen Ye
601687d8d2
enhance: add more metrics for DDL framework (#45559)
issue: #43897
pr: #45558

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-14 16:03:38 +08:00
Spade A
679d248c59
fix: remove validateFieldName in dropIndex [2.6] (#45462)
issue: https://github.com/milvus-io/milvus/issues/45459
pr: https://github.com/milvus-io/milvus/pull/45460

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-11-14 15:33:38 +08:00
cai.zhang
9b76d75e0a
fix: [2.6] Ignore compaction task when from segment is not healthy (#45535)
issue: #45533 

master pr: #45534

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-14 15:31:38 +08:00
XuanYang-cn
898e129326
fix: [cp26]Set schema properties before broadcast alter collection (#45529)
This causes collection schema properties is empty in datacoord caches,
thus making compaction, indexing, unable to get properties from schema.

See also: #45053, #45159
pr: #45502

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-11-14 14:23:37 +08:00
XuanYang-cn
d25c4053b8
fix: [cp26]store database event if the key is invalid (#45348) (#45530)
See also: #45136, #45124
pr: #45348

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-11-14 12:05:38 +08:00
Feilong Hou
df05e7c12c
test: fix partial update chaos checker (#45550)
Issue: #45489 
pr: #45492

---------

Signed-off-by: Eric Hou <eric.hou@zilliz.com>
Co-authored-by: Eric Hou <eric.hou@zilliz.com>
2025-11-13 18:51:39 +08:00
Gao
88ce11a361
enhance: update maxConnections config version (#45547)
issue: #45344 
pr: #45546

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2025-11-13 18:39:38 +08:00
groot
9191c8dcfd
fix: [2.6] Fix bulkimport bug for Struct field (#45536)
issue: https://github.com/milvus-io/milvus/issues/45006
pr: https://github.com/milvus-io/milvus/pull/45474

Signed-off-by: yhmo <yihua.mo@zilliz.com>
2025-11-13 18:13:38 +08:00
Chun Han
a12444e3ca
fix: failed to get raw data for hybrid index(#45318) (#45408)
related: #45318
pr: https://github.com/milvus-io/milvus/pull/45411

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-11-13 17:09:37 +08:00
aoiasd
e4adb9fc56
enhance: [2.6] skip check source id (#45519)
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-13 17:03:38 +08:00
Gao
df5da9c2b5
enhance: [2.6] support max_connection config for remote storage (#45364)
issue: #45344 
pr: #45225

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2025-11-13 15:41:37 +08:00
cai.zhang
eee6ed91ca
fix: [2.6] Retain collection early to prevent it from being released before query completion. (#45415)
issue: #45314 

master pr: #45413

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-13 12:37:38 +08:00
aoiasd
719b71c3f2
enhance: [2.6] prevent panic by adding null pointer check when clearing InsertRecord _pk2offset_ (#45442)
pr:https://github.com/milvus-io/milvus/pull/45281

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-11-13 10:55:37 +08:00
Zhen Ye
8ca120b841
fix: use the right resource key lock for ddl and use new ddl in transfer replica (#45509)
issue: #45452
pr: #45506

- alias/rename related DDL should use database level exclusive lock
- alias cannot use as the resource key of lock, use collection name
instead
- transfer replica should use WAL-based framework

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-12 20:13:38 +08:00
Spade A
a78b6e51b0
fix: fix index compatibility after upgrade [2.6] (#45374)
pr: https://github.com/milvus-io/milvus/pull/45373
issue: https://github.com/milvus-io/milvus/issues/45380

---------

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-11-12 19:55:37 +08:00
yihao.dai
b1255dba6f
fix: [2.6] Fix channel not available error and release collection blocking (#45429)
1. Ensure replica creation is idempotent.
2. Prevent currentTarget update when replica is missing.
3. Move the wait-for-release logic into the DDL framework's callback,
and add a timeout to prevent it from blocking the DDL callback
indefinitely.

issue: https://github.com/milvus-io/milvus/issues/45301,
https://github.com/milvus-io/milvus/issues/45274,
https://github.com/milvus-io/milvus/issues/45295

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-11-12 18:57:37 +08:00
XuanYang-cn
245e96645f
feat: [cp26]Add new config and enable to dynamic update configs (#45363)
This PR changes the config layout according to the latest design, and
adds two external credential configs for aws kms

See also: #45169
pr: #45170

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-11-12 18:11:41 +08:00
Zhen Ye
24a0782cb5
fix: remove collection meta when drop partition (#45497)
issue: #45476
pr: #45493

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-12 10:15:36 +08:00
cai.zhang
49e3059719
fix: Fix target segment marked dropped for save stats result twice (#45479)
issue: #45477 

master pr: #45478

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-11 23:41:37 +08:00
Zhen Ye
1cfb9f6881
fix: wrong update timetick of collection info (#45471)
issue: #45397, #45403, #45463
pr: #45461
also pick pr: #45447

- fix alter collection with alias failed with collection not found
- fix the Nightly E2E failures.
- fix the wrong update timetick of altering collection to fix the
related load failure.

---------

Signed-off-by: sijie-ni-0214 <sijie.ni@zilliz.com>
Signed-off-by: chyezh <chyezh@outlook.com>
Co-authored-by: sijie-ni-0214 <sijie.ni@zilliz.com>
2025-11-11 22:07:37 +08:00
zhenshan.cao
2f6940253d
fix: Add tzdata dependency to enable IANA Time Zone ID recognition (#45495)
Also Set timezone to UTC and ensure tzdata support (#45483)

issue: https://github.com/milvus-io/milvus/issues/45473
pr: https://github.com/milvus-io/milvus/pull/45475
https://github.com/milvus-io/milvus/pull/45483

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
2025-11-11 20:45:37 +08:00
congqixia
9ff5731c7d
fix: [2.6] Support JSON default values in FillFieldData (#45455) (#45470)
Cherry-pick from master
pr: #45455
Related to #45445

Previously, FillFieldData for JSON fields would assert and fail when a
default_value was provided, blocking index creation for JSON fields with
default values (including dynamic fields like $meta).

This change enables JSON default value support by:
- Removing the assertion that blocked default values
- Parsing bytes_data into Json objects when default_value is present
- Properly filling data_ array and setting valid_data_ bitset to true
- Maintaining null behavior when no default_value is provided

Impact:
- Fixes index creation failure for JSON fields with default values
- Resolves upgrade issues from 2.5 to 2.6.5 where dynamic fields with
default values couldn't be indexed
- Index builds that were stuck in InProgress state can now complete

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-11 18:21:37 +08:00
congqixia
7d13bdcf4c
fix: [2.6] correct field data offset calculation in rerank functions for bulk search (#45444) (#45482)
Cherry-pick from master
pr: #45444
Related to #45338

When using bulk vector search in hybrid search with rerank functions,
the output field values for different queries were all equal to the
values returned by the first query, instead of the correct values
belonging to each document ID. The document IDs were correct, but the
entity field values were wrong.

In rerank functions (RRF, weighted, decay, model), when processing
multiple queries in a batch, the `idLocations` stored only the relative
offset within each result set (`idx`), not accounting for the absolute
position within the entire batch. This caused `FillFieldData` to
retrieve field data from the wrong positions, always using offsets
relative to the first query.

This fix ensures that when processing bulk searches with rerank
functions, each result correctly retrieves its corresponding field data
based on the absolute offset within the entire batch, resolving the
issue where all queries returned the first query's field values.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-11 18:15:37 +08:00
sparknack
aaa8f4335d
enhance: [2.6] some optimization of scalar field fetching in tiered storage scenarios (#45361)
issue: #43611
pr: #45360

---------

Signed-off-by: Shawn Wang <shawn.wang@zilliz.com>
2025-11-11 17:27:40 +08:00
cai.zhang
8b16216e01
fix: [2.6]Fix filter geometry for growing with mmap (#45465)
issue: #45450
master pr: #45464

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-11 15:41:40 +08:00
Chun Han
85c8cca094
feat: milvus support huawei cloud iam verification(#45298) (#45312)
related: #45298
pr: https://github.com/milvus-io/milvus/pull/45457

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-11-11 15:11:36 +08:00
Spade A
7cee398df1
fix: nextFieldID does not consider STRUCT [2.6] (#45438)
issue: https://github.com/milvus-io/milvus/issues/45362
pr: https://github.com/milvus-io/milvus/pull/45437

Signed-off-by: SpadeA <tangchenjie1210@gmail.com>
2025-11-11 11:29:35 +08:00
aoiasd
2637854a12
enhance: [2.6] fix typo of analyzer params (#45434)
pr: https://github.com/milvus-io/milvus/pull/45299

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-11-11 10:33:36 +08:00
Gao
1398a069d3
enhance: override index_type while creating segment index (#45417)
issue: #44752
pr: #45416

---------

Signed-off-by: chasingegg <chao.gao@zilliz.com>
2025-11-11 09:45:36 +08:00
zhuwenxing
7380684b9e
test: [2.6]add struct array mmap testcases (#45453)
master pr: https://github.com/milvus-io/milvus/pull/45309

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-11-10 19:49:36 +08:00
Chun Han
94563fb4f2
fix: Group value is nil(#45418) (#45419)
related: #45418 
pr: https://github.com/milvus-io/milvus/pull/45422

Signed-off-by: MrPresent-Han <chun.han@gmail.com>
Co-authored-by: MrPresent-Han <chun.han@gmail.com>
2025-11-10 16:17:38 +08:00
yihao.dai
58f4afd3f0
enhance: [2.6] Add RBAC support for UpdateReplicateConfiguration (#45236)
issue: https://github.com/milvus-io/milvus/issues/44123

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-11-08 17:43:34 +08:00
XuanYang-cn
7c37e444a2
fix: [cp26]Accurate size estimation for sliced arrow arrays in compaction (#45352)
Sliced arrow arrays "incorrectly" returned the original array's size via
SizeInBytes(), causing inaccurate memory estimates during compaction.

This resulted in segments closing prematurely in mergeSplit mode -
expected 500MB compactions produced 4x100+MB segments instead.

Fixed by calculating actual byte size of sliced arrays, ensuring proper
segment sizing and more accurate memory usage tracking.

See also: #45293
pr: #45294

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-11-07 18:07:35 +08:00
yihao.dai
0bfb5f6012
fix: [2.6] Fix data race in replicate stream client (#45347)
issue: https://github.com/milvus-io/milvus/issues/44123

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-11-07 16:43:35 +08:00
XuanYang-cn
750af91c5a
test: Increase PyMilvus version to 2.6.4rc3 for 2.6 branch (#45386)
Automated daily bump from pymilvus 2.6 branch. Updates
tests/python_client/requirements.txt.

Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com>
2025-11-07 15:23:38 +08:00
cai.zhang
12e3fb7655
fix: [2.6]Skip building text index for newly added columns (#45317)
issue: #45315 
master pr: #45316

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-11-07 15:21:42 +08:00