23404 Commits

Author SHA1 Message Date
Zhen Ye
92f4b48a3c
fix: use latest timetick to expire cache (#45699)
issue: #45697
pr: #45717

- also remove the  too frequent metric collection of tokenizer.

---------

Signed-off-by: chyezh <chyezh@outlook.com>
pkg/v2.6.6
2025-11-20 18:32:52 +08:00
congqixia
151ade0215
enhance: Bump milvus & proto version to v2.6.6 (#45657)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-20 18:27:05 +08:00
Zhen Ye
a48f7ae170
fix: streamingnode should exit when initializing failure (#45732)
issue: #45721
pr: #45731

Signed-off-by: chyezh <chyezh@outlook.com>
2025-11-20 18:24:19 +08:00
liliu-z
bc3b1bf61c
enhance: Fix CVE-2025-63811 (#45658)
Fix CVE-2025-63811
pr: #45659

Signed-off-by: Li Liu <li.liu@zilliz.com>
2025-11-20 17:20:02 +08:00
wei liu
efd9367c1f
enhance: [2.6] Remove large segment ID arrays from QueryNode logs (#45720)
issue: #45718
pr: #45719
Logging complete segment ID arrays caused excessive log volume (3-6 TB
for 200k segments). Remove arrays from logger fields and keep only
segment counts for observability.

Changes:
- Remove requestSegments/preparedSegments arrays from Load logger
- Remove segmentIDs from BM25 stats logs
- Remove entries structure from sync distribution log

This reduces log volume by 99.99% for large-scale operations.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-11-20 17:18:30 +08:00
Bingyi Sun
1ebb31e868
enhance: skip test_milvus_client_search_json_path_index_default (#45605)
To prevent this issue from blocking other PRs, we are temporarily
disabling this test. A proper fix will be implemented before the 2.6.6
release.

pr: https://github.com/milvus-io/milvus/pull/45604
issue: https://github.com/milvus-io/milvus/issues/45511

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-11-20 16:53:09 +08:00
congqixia
29c9132e55
fix: [2.6] protect tbb concurrent_map emplace to avoid race condition deadlock (#45682)
Cherry-pick from master
pr: #45681
Related to #44974

The emplace() operation on tbb::concurrent_hash_map was not protected,
allowing other threads to erase entries between the emplace attempt and
the subsequent lookup.

Solution:
1. Add shared_lock protection around the emplace() operation to prevent
concurrent erasure during insertion
2. Instead of returning nullptr when the key is not found on retry,
recursively call Get(key) to retry the entire operation
3. Fix typo: "earsed" -> "erased"

This ensures that concurrent Get() operations are properly synchronized
and will eventually succeed even under high contention.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-11-20 14:23:12 +08:00
Buqian Zheng
3741fcdd78
enhance: updated multiple places where the expr copies the input values in every loop (#45712)
pr: https://github.com/milvus-io/milvus/pull/45680
issue: https://github.com/milvus-io/milvus/issues/45679

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2025-11-20 14:17:07 +08:00
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