22287 Commits

Author SHA1 Message Date
cai.zhang
f27dfa4490
enhance: [2.5]Support import geometry data by json/csv (#44828)
issue: #44787 
master pr: #44826 
2.6 pr: #44827

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-10-17 17:14:23 +08:00
cqy123456
e4b72977dd
fix:[2.5]remove the limit of deduplicate case when disable autoindex (#44782)
issue: https://github.com/milvus-io/milvus/issues/44702
related pr: https://github.com/milvus-io/milvus/pull/44825

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
2025-10-17 11:40:02 +08:00
congqixia
93411a388c
fix: [2.5] ensure deterministic search result ordering when scores are equal (#44870) (#44885)
Cherry-pick from master
pr: #44870

Related to #44819
This fix addresses an issue(#44819) where the offset parameter did not
work correctly during searches when multiple results had identical
scores. The problem occurred because results with equal scores were not
consistently ordered, leading to unpredictable pagination behavior.

The solution adds a new sorting step (SortEqualScoresByPks) in the
reduce phase that sorts results with identical scores by their primary
keys in ascending order. This ensures deterministic ordering and enables
proper offset functionality.

Changes:
- Add SortEqualScoresByPks() to sort results with equal scores by PK
- Add SortEqualScoresOneNQ() to handle per-query sorting logic
- Invoke sorting step after FillPrimaryKey() in Reduce() workflow

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-16 19:34:08 +08:00
wei liu
82081eba1b
fix: [2.5] Fix deactivate balance checker also stops stopping balance (#44835)
issue: #43858
pr: #44834
Fix the issue introduced in PR #43992 where deactivating the balance
checker incorrectly stops stopping balance operations.

Changes:
- Move IsActive() check after stopping balance logic
- Only skip normal balance when checker is inactive
- Allow stopping balance to proceed regardless of checker state

This ensures stopping balance can execute even when the balance checker
is deactivated.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-10-15 15:56:01 +08:00
aoiasd
71fc23dd24
fix: [2.5] dropped segment in excluded segment use wrong excluded ts (#44771)
relate: https://github.com/milvus-io/milvus/issues/43114
pr: https://github.com/milvus-io/milvus/pull/43115
https://github.com/milvus-io/milvus/pull/44769

---------

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-10-15 15:06:01 +08:00
wei liu
47949fd883
enhance: Implement rewatch mechanism for etcd failure scenarios (#43829) (#43920)
issue: #43828
pr: #43829 #43909
Implement robust rewatch mechanism to handle etcd connection failures
and node reconnection scenarios in DataCoord and QueryCoord, along with
heartbeat lag monitoring capabilities.

Changes include:
- Implement rewatchDataNodes/rewatchQueryNodes callbacks for etcd
reconnection scenarios
- Add idempotent rewatchNodes method to handle etcd session recovery
gracefully
- Add QueryCoordLastHeartbeatTimeStamp metric for monitoring node
heartbeat lag
- Clean up heartbeat metrics when nodes go down to prevent metric leaks

---------

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
Co-authored-by: Zhen Ye <chyezh@outlook.com>
2025-10-15 14:12:01 +08:00
congqixia
1f94b1f5f6
fix: [2.5] avoid concurrent Reset/Add operations on DataCoord metrics (#44789) (#44817)
Cherry-pick from master
pr: #44789

This commit addresses issue #44788 where the
`datacoord_stored_binlog_size` metric could become inaccurate when
multiple concurrent `GetMetrics` calls arrived at DataCoord.

### Problem

The original implementation called `Reset()` followed by `Add()`
operations on Prometheus metrics within the `GetQuotaInfo()` method.
When multiple goroutines invoked this method concurrently, race
conditions occurred:
- Thread 1: Reset() → Add(value1)
- Thread 2: Reset() → Add(value2)
- Result: Metrics could be reset multiple times and values added in an
interleaved fashion, leading to inaccurate and inflated metric values

### Solution

Changed the approach from `Reset() + Add()` to aggregating metric values
in local maps first, then using `Set()` to update metrics atomically:

1. Collect segment size data into local maps:
   - `storedBinlogSize`: tracks size per collection per segment state
   - `binlogFileSize`: tracks total file count per collection
   - `coll2DbName`: maps collection IDs to database names

2. After aggregation is complete, use `Set()` (instead of `Add()`) to
update metrics in a single operation per label combination

This ensures that concurrent `GetMetrics` calls don't interfere with
each other, as each invocation works with its own local state and only
updates the final metric value atomically.

---------

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-14 20:06:00 +08:00
nico
3516f9f368
enhance: [skip e2e] modify nightly time for 2.5 branch (#44833)
Signed-off-by: nico <cheng.yuan@zilliz.com>
2025-10-14 16:58:08 +08:00
jiaqizho
00ef6032c6
enhance:[2.5] Introduce sparse filter in query (#44347) (#44790)
pr: #44347

Signed-off-by: jiaqizho <jiaqi.zhou@zilliz.com>
2025-10-14 15:02:01 +08:00
congqixia
c30cb6c283
enhance: [2.5] Add accesslog field for template value length info (#44723) (#44791)
Cherry-pick from master
pr: #44723 
Related to #36672

Add accesslog field displaying value length for search/query request may
help developers debug related issues

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-13 14:29:58 +08:00
congqixia
17a91f3bdf
enhance: Bump milvus & proto version to v2.5.19 (#44693)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
pkg/v2.5.19 v2.5.19
2025-10-11 11:37:58 +08:00
wei liu
cbe2761e99
fix: Fix L0 segment duplicate load task generation during channel balance (#44700)
issue: #44699
Fix the issue where L0 segment checking logic incorrectly identifies L0
segments as missing when they exist on multiple delegators during
channel balance process, which blocks sealed segment loading and target
progression.

Changes include:
- Replace GetLatestShardLeaderByFilter with GetByFilter to check all
delegators instead of only the latest leader
- Iterate through all delegator views to identify which ones lack the L0
segment

The original logic only checked the latest shard leader, causing false
positive detection of missing L0 segments when they actually exist on
other delegators in the same channel during balance operations. This led
to continuous generation of duplicate L0 segment load tasks, preventing
normal sealed segment loading flow.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-10-11 10:04:00 +08:00
congqixia
03223ddb8b
enhance: [2.5] Update builder image for bumping go version (#44728)
Related to #44718

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-11 09:41:59 +08:00
congqixia
5edbc913d3
enhance: [2.5] use fixed vcpkg version for build image (#44378) (#44740)
Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
Co-authored-by: aoiasd <45024769+aoiasd@users.noreply.github.com>
2025-10-10 19:35:57 +08:00
cai.zhang
52ab33ba88
fix: [2.5] Skip empty loop for process growing segment (#44608)
issue: #43427 
master pr: #44606 

The GISFunction asserts that the segment_offsets cannot be nullptr. When
size is 0, the segment_offsets is nullptr, so the loop is skiped.

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-10-10 14:55:59 +08:00
congqixia
7f52c02871
enhance: [2.5] Bump go verion to 1.24.6 (#44718)
Bump go verion to v1.24.6 fixing CVE-2025-47907

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-10 14:45:57 +08:00
congqixia
cb0e88632f
enhance: [2.5] Make accesslog.$consistency_level represent actual value used (#44708)
Cherry-pick from master
pr: #44706 
Related to #44703

This PR:
- Add `SetActualConsistencyLevel` to `info.AccessInfo` interface and
  related util method processing it
- Make `$consistency_level` returning actual value if set

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-09 21:55:59 +08:00
Bingyi Sun
9434a3bdaa
fix: Fix bulk import with autoid (#44601)
pr: #44604 
issue: #44424

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-10-09 14:51:58 +08:00
congqixia
c86d68bea5
enhance: [2.5] Bump arrow/go to v17 (#44663)
Related to #40777

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-10-09 11:47:57 +08:00
Bingyi Sun
7a02569602
enhance: [go-sdk]allow users to insert pk data if autoid is enabled (#44562)
pr: https://github.com/milvus-io/milvus/pull/44561
issue: #44424

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-29 11:27:06 +08:00
wei liu
892d63d26e
enhance: [2.5] Refactor balance checker with priority queue (#43992) (#44588)
issue: #43858
pr: #43992
Refactor the balance checker implementation to use priority queues for
managing collection balance operations, improving processing efficiency
and order control.

Changes include:
- Export priority queue interfaces (Item, BaseItem, PriorityQueue)
- Replace collection round-robin with priority-based queue system
- Add BalanceCheckCollectionMaxCount configuration parameter
- Optimize balance task generation with batch processing limits
- Refactor processBalanceQueue method for different strategies
- Enhance test coverage with comprehensive unit tests

The new priority queue system processes collections based on row count
or collection ID order, providing better control over balance operation
priorities and resource utilization.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-09-28 19:23:05 +08:00
wei liu
3a7a08f2b3
enhance: [2.5] Add granular flush targets support for FlushAll operation (#44431)
issue: #44156
pr: #44234
Enhance FlushAll functionality to support targeting specific collections
within databases instead of only database-level flushing.

Changes include:

- Add FlushAllTarget message in data_coord.proto for granular targeting
- Support collection-specific flush operations within databases
- Maintain backward compatibility with deprecated db_name field

This enhancement allows users to flush specific collections without
affecting other collections in the same database, providing more precise
control over data persistence operations.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-09-28 10:37:06 +08:00
Bingyi Sun
2e0c0c08bb
feat: allow users to write pk field when autoid is enabled (#44520)
issue: https://github.com/milvus-io/milvus/issues/44011
pr: https://github.com/milvus-io/milvus/pull/44424

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-24 20:26:06 +08:00
cai.zhang
3dc43422be
enhance: Use GEOSGeometry directly to skipping the gdal to geos conversion (#44519)
issue: #43427

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-24 18:30:06 +08:00
congqixia
d251e102b6
enhance: [2.5] Add param item for hybrid search requery policy (#44467)
Cherry-pick from master
pr: #44466
related to #39757

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-24 17:52:07 +08:00
XuanYang-cn
cdcad7b1c7
test: Increase PyMilvus version to 2.5.17rc1 for 2.5 branch (#44552)
Automated daily bump from pymilvus 2.5 branch. Updates
tests/python_client/requirements.txt.

Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com>
2025-09-24 17:16:10 +08:00
congqixia
aadb99c716
fix: [2.5] Cleanup collection metrics after dropped on rootcoord (#44511) (#44525)
Cherry-pick from master
pr: #44511
Related to #44509

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-24 09:56:06 +08:00
Bingyi Sun
c5a7845531
enhance: optimize the performance of binary_search_string (#44470)
pr: #44469

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-23 14:28:05 +08:00
Bingyi Sun
8b0bfe4cd8
feat: encode cluster id in auto id (#44471) (#44500)
pr: #44471 
https://github.com/milvus-io/milvus/issues/44326
prev:
[physical_ts][logical_ts]
after
[sign_bit][cluster_id][physical_ts][logical_ts]

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-09-22 20:30:10 +08:00
aoiasd
d19d65fb46
fix: [2.5] idf oracle use wrong local path (#44328)
relate: https://github.com/milvus-io/milvus/issues/44264
pr: https://github.com/milvus-io/milvus/pull/44266

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-09-22 15:44:18 +08:00
XuanYang-cn
83e162bf66
test: Increase PyMilvus version to 2.5.16 for 2.5 branch (#44493)
Automated daily bump from pymilvus 2.5 branch. Updates
tests/python_client/requirements.txt.

Signed-off-by: XuanYang-cn <xuan.yang@zilliz.com>
2025-09-22 11:24:08 +08:00
congqixia
1b0bf82b22
enhance: Bump milvus & proto version to v2.5.18 (#44468)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
v2.5.18 pkg/v2.5.18
2025-09-19 17:20:02 +08:00
cai.zhang
fa54cdadac
fix: Fix inserting geometry data bug by restful (#44479)
issue: #43427

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-19 17:18:02 +08:00
cai.zhang
5b8288a0ef
enhance: Refine geometry cache with offsets (#44432)
issue: #43427

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-18 20:24:02 +08:00
zhikunyao
94b1d66535
enhance: base images use https to install apt package 2.5 (#44420)
pr: #44382

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-18 10:58:01 +08:00
cai.zhang
124a1b3ce4
fix: Fix geometry bugs and add cache for create Geometry (#44376)
issue: #44102, #44079, #44075

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-17 15:24:03 +08:00
presburger
d44bdcd76c
enhance: compaction task metric bug (#44280)
issue: #44281

Signed-off-by: yusheng.ma <yushengma@bytedance.com>
Co-authored-by: yusheng.ma <yushengma@bytedance.com>
2025-09-17 10:06:01 +08:00
cai.zhang
7ef76058d5
enhance: Support gis filter operator st_dwithin (#44392)
issue: #43427

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-16 22:44:03 +08:00
sre-ci-robot
570ae44f6a
enhance: 2.5 update builder env rust (#44368)
pr: #44366

---------

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
Co-authored-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-16 13:34:01 +08:00
cai.zhang
a2bb36a6dc
enhance: [2.5] Remove timeout for compaction task (#44278)
issue: #44272 
master pr: #44277

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-15 21:24:01 +08:00
yihao.dai
9e96cab7c0
fix: [2.5] Fix invalid pre-allocated segment IDs (#44351)
Mark the task as failed when PreAllocatedSegmentIDs is nil.

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

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-09-15 20:32:00 +08:00
sre-ci-robot
ecb73108e4
test: 2.5 Mac OS code checker uses cmake-3.31 (#44375)
pr: #44348

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
Co-authored-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-15 17:32:00 +08:00
congqixia
02d12619e2
fix: [2.5] Update 2.5 branch format (#44096)
Cherry-pick from master
pr: #44077
Related to #44076

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-15 11:16:00 +08:00
cai.zhang
8e8bb8604a
fix: [2.5] Fix GetCompactionTo return empty results when segment was GCed (#44271)
issue: #44269 
master pr: #44270

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-15 10:53:59 +08:00
aoiasd
cb0bb7b31f
enhance: [2.5] forbid panic when tantivy index path not exist (#44136)
pr: https://github.com/milvus-io/milvus/pull/44135

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-09-15 10:30:00 +08:00
congqixia
5d54d84438
enhance: [2.5] Add param item forcing all indices ready for segment (#44329)
Cherry-pick from master
pr: #44313
Related to #44312

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-09-12 19:29:58 +08:00
cai.zhang
4c0249ba20
fix: [2.5] Check if ArrayData is nil to prevent panic (#44333)
issue: #44331 
master pr: #44332

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-09-12 14:47:59 +08:00
cqy123456
ec4442d39b
enhance: update knowhere version (#44292)
issue: https://github.com/milvus-io/milvus/issues/42937 
master pr:https://github.com/milvus-io/milvus/pull/44294

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
2025-09-11 15:05:58 +08:00
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
aoiasd
adbfa3f0fa
fix: [2.5] add utf8 check for bm25 functoin run (#44221)
relate: https://github.com/milvus-io/milvus/issues/44219
pr: https://github.com/milvus-io/milvus/pull/44220

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2025-09-09 19:27:58 +08:00