1368 Commits

Author SHA1 Message Date
cai.zhang
8a77fb9cdc
enhance: Support slot for index task and stats task (#39084)
issue: #39101

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-04-08 20:46:25 +08:00
zhenshan.cao
758cf29e77
fix: create multiple idential indexes by accident (#40179)
issue: https://github.com/milvus-io/milvus/issues/40163

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
2025-04-08 15:06:25 +08:00
Ted Xu
1bcea2a775
fix: assigning the correct storage version in sync and index tasks (#41093)
See #39663 #40667

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2025-04-08 10:14:25 +08:00
congqixia
484cd8c4a9
fix: Ignore growing segment without start pos for seal policy (#41130)
Related to #41129

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-04-07 22:16:23 +08:00
cai.zhang
a5be7cbce9
fix: Add the field index lock for getSegmentsIndexStates (#40968)
issue: #40966

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-04-07 11:38:24 +08:00
cai.zhang
05e25431d9
enhance: Deprecate disk params about indexing (#41045)
issue: #40863

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-04-07 11:36:34 +08:00
cai.zhang
902f6506ca
fix: Get all children deltalogs for segment to load (#40956)
issue: #40207

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-04-02 16:32:22 +08:00
smellthemoon
cb1e86e17c
enhance: support add field (#39800)
after the pr merged, we can support to insert, upsert, build index,
query, search in the added field.
can only do the above operates in added field after add field request
complete, which is a sync operate.

compact will be supported in the next pr.
#39718

---------

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2025-04-02 14:24:31 +08:00
yihao.dai
5b78ef0a49
fix: Fix delete data loss due to duplicate binlogID (#40960)
With concurrenct L0 compaction
(https://github.com/milvus-io/milvus/pull/36816), delta logs might be
written to the same L1 segment, causing logID duplication when using the
incremental beginLogID. This PR removes the beginLogID mechanism and
instead passes a log ID range, where the number of IDs in the range
equals the number of compaction segment binlogs multiplied by an
expansion factor.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-04-01 10:36:22 +08:00
Bingyi Sun
9676365af9
fix: Fix json index not equal filter (#40647)
issue: #35528

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-03-27 23:06:23 +08:00
Zhen Ye
af80a4dac2
fix: auto flush all segment that is not created by streaming service (#40767)
issue: #40532

Signed-off-by: chyezh <chyezh@outlook.com>
2025-03-26 16:32:22 +08:00
congqixia
84e8e141ea
enhance: Support detailed manual compaction criterion (#40892)
Related to #40866

This PR:
- update go-api/v2 and support partition id/channel/segment level manual
compaction
- refines the compaction trigger implementation
- unify the compaction signal usage

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-25 20:06:22 +08:00
yihao.dai
f65e6b7c6e
enhance: Optimize datacoord meta mutex (#40552)
Use a separate collection mutex.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-03-25 13:46:25 +08:00
congqixia
1953676ee0
fix: Set task queue time before enqueue (#40815)
Related to #40814

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-21 19:36:15 +08:00
congqixia
77515310b9
enhance: Resolve existing lint issues (#40797)
This PR
- Format import issues in datacoord & datanode
- Fix JSONPathIndex naming issue

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-20 19:36:11 +08:00
congqixia
4ca1a7a76d
fix: Protect getSegmentIndexes with rlock (#40719)
Related to #40718

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-18 16:40:14 +08:00
Bingyi Sun
8f66a0432d
fix: json path should be empty string if it's root (#40611)
issue: #35528

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-03-14 16:50:16 +08:00
cai.zhang
6dbe5d475e
enhance: Refine task meta with key lock (#40613)
issue: #39101

2.5 pr: #40146 #40353

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-03-14 15:44:22 +08:00
yihao.dai
b2a8694686
enhance: Merge IndexNode and DataNode (#40272)
Merge DataNode and IndexNode into DataNode.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-03-13 14:26:11 +08:00
Ted Xu
df4285c9ef
enhance: API integration with storage v2 in clustering-compactions (#40133)
See #39173

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2025-03-13 14:12:06 +08:00
jaime
c8a96377bb
enhance: move object storage client creation to pkg package (#40440)
issue: #40439

Signed-off-by: jaime <yun.zhang@zilliz.com>
2025-03-12 20:38:07 +08:00
wei liu
0420dc1eb1
fix: use correct delete checkpoint to prevent premature data cleanup (#40366)
issue: #40292
related to #39552

- Fix incorrect delete checkpoint usage in SyncDistribution
- Change checkpoint parameter from action.GetCheckpoint() to
action.GetDeleteCP() in SyncTargetVersion call
- This resolves the issue where delete buffer data was being cleaned
prematurely due to wrong checkpoint reference

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-03-12 15:00:08 +08:00
yihao.dai
a33c9372ce
fix: Fix channel not balance on datanodes (#40422)
1. Prevent channels from being assigned to only one datanode during
datacoord startup.
2. Optimize the channel assignment policy by considering newly assigned
channels.
3. Make msgdispatcher manager lock-free.

issue: https://github.com/milvus-io/milvus/issues/40421,
https://github.com/milvus-io/milvus/issues/37630

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-03-11 14:56:16 +08:00
Bingyi Sun
a729bb84ba
enhance: add json path escape and replace $meta with dynamic field name (#40407)
issue: #35528

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-03-11 14:00:05 +08:00
congqixia
391804c7fb
enhance: Add channel seal policy based on blocking l0 (#40505)
Related to #40502

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-10 16:28:04 +08:00
XuanYang-cn
4bebca6416
enhance: Replace currRows with NumOfRows (#40074)
See also: #40068

---------

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-03-10 12:16:03 +08:00
cai.zhang
d6a650bd14
fix: Skip executing stats for zero segment (#40448)
issue: #40241

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-03-09 21:14:02 +08:00
congqixia
5c5273f95e
fix: Pass Knapsnak ptr to avoid compact multiple times (#40400)
Related to #40388

The small segments may be put into bucket twice due to value parameter
of Knapsnap.packWith

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-06 15:42:03 +08:00
Ted Xu
96952ad3c5
fix: compaction task cannot be genereted if size greater than max size (#40348)
See: #40343

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
Co-authored-by: Congqi Xia <congqi.xia@zilliz.com>
2025-03-05 14:40:01 +08:00
yihao.dai
004a1875dc
enhance: Introduce batch subscription in msgdispatcher (#39863)
Introduce a batch subscription mechanism in msgdispatcher: the
msgdispatcher now includes a vchannel watch task queue, where all
vchannels in the queue will subscribe to the MQ only once and pull
messages from the oldest vchannel checkpoint to the latest.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-03-05 14:38:02 +08:00
sthuang
63a7c4570e
feat: storage v2 sync (#39663)
related: #39173

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2025-03-05 11:22:15 +08:00
SimFG
a3755cf409
fix: improve error handling and unit tests for InitMetaCache function (#40322)
- issue: #40320

Signed-off-by: SimFG <bang.fu@zilliz.com>
2025-03-05 11:08:13 +08:00
Zhen Ye
9ca5088f62
fix: duplicate consuming from stream for invisble segment (#40316)
issue: #40207

Signed-off-by: chyezh <chyezh@outlook.com>
2025-03-04 15:54:00 +08:00
Zhen Ye
f47ab31f23
enhance: remove redundant resource key watch operation, just keep consistency of wal (#40235)
issue: #38399
related PR: #39522

- Just implement exclusive broadcaster between broadcast message with
same resource key to keep same order in different wal.
- After simplify the broadcast model, original watch-based broadcast is
too complicated and redundant, remove it.

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2025-03-03 14:40:05 +08:00
cai.zhang
5a810400b5
enhance: Optimize Task Scheduling to Enable Concurrent Execution (#40251)
issue: #39101 

2.5 pr: #40104

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-03-02 18:38:00 +08:00
cai.zhang
762a644d76
enhance: Limit the speed of the generating stats task (#39644)
Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-02-28 10:27:59 +08:00
cai.zhang
a74580c1ca
fix: Set task version for stats task (#40035)
issue: #40034

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-02-27 17:49:59 +08:00
wei liu
69b8b89369
enhance: Remove QueryCoord's scheduling of L0 segments (#39552)
issue: #39551
This PR remove querycoord's scheduling of l0 segments:
  - only load l0 segment when watch channel
- only release l0 segment when release channel or sync data distribution

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-02-26 21:38:00 +08:00
yihao.dai
8f077089ba
enhance: Accelerate listing objects during binlog import (#40047)
issue: https://github.com/milvus-io/milvus/issues/40030

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-02-26 15:55:57 +08:00
XuanYang-cn
315cfb7f32
fix: Negative -1 executing compaction tasks (#39954)
See also: #39675

---------

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-02-25 18:07:55 +08:00
cai.zhang
9f5b488f9a
enhance: Export request timeout interval in config (#40119)
Signed-off-by: cai.zhang <cai.zhang@zilliz.com>
Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2025-02-23 15:15:54 +08:00
congqixia
cb7f2fa6fd
enhance: Use v2 package name for pkg module (#39990)
Related to #39095

https://go.dev/doc/modules/version-numbers

Update pkg version according to golang dep version convention

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-02-22 23:15:58 +08:00
Ted Xu
8562a102ec
enhance: API integration with storage v2 in mix-compactions (#40008)
See #39173

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2025-02-22 14:23:54 +08:00
XuanYang-cn
fb969cf636
fix: A segment may never transfer from sealed to flushing (#39993)
See also: #39717

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2025-02-21 16:51:54 +08:00
SimFG
b562f8e644
fix: add filter to exclude L0 import jobs in compaction trigger (#40045)
- issue: #39849

Signed-off-by: SimFG <bang.fu@zilliz.com>
2025-02-21 10:45:53 +08:00
congqixia
5d83deb3f8
fix: Use start pos ts instead for sealSegmentByLifetime policy (#39982)
Related to #39981

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-02-19 15:41:06 +08:00
Zhen Ye
ae700e7519
enhance: make compatitle with old msgstream for new streaming service (#39943)
issue: #38399

Signed-off-by: chyezh <chyezh@outlook.com>
2025-02-18 11:21:08 +08:00
SimFG
047254665d
feat: support to replicate import msg (#39171)
- issue: #39849

---------

Signed-off-by: SimFG <bang.fu@zilliz.com>
Signed-off-by: chyezh <chyezh@outlook.com>
Co-authored-by: chyezh <chyezh@outlook.com>
2025-02-16 00:08:13 +08:00
Bingyi Sun
b59555057d
feat: support json index (#36750)
https://github.com/milvus-io/milvus/issues/35528

This PR adds json index support for json and dynamic fields. Now you can
only do unary query like 'a["b"] > 1' using this index. We will support
more filter type later.

basic usage:
```
collection.create_index("json_field", {"index_type": "INVERTED",
    "params": {"json_cast_type": DataType.STRING, "json_path":
'json_field["a"]["b"]'}})
```

There are some limits to use this index:
1. If a record does not have the json path you specify, it will be
ignored and there will not be an error.
2. If a value of the json path fails to be cast to the type you specify,
it will be ignored and there will not be an error.
3. A specific json path can have only one json index.
4. If you try to create more than one json indexes for one json field,
sdk(pymilvus<=2.4.7) may return immediately because of internal
implementation. This will be fixed in a later version.

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2025-02-15 14:06:15 +08:00
congqixia
9bbaaac291
fix: Add and use lifetime context for compaction trigger (#39857)
Related to #39856

This PR add lifetime bound context for compaction trigger and use it
instead of context.Background in case of rootcoord down and some grpc
call retry forever

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2025-02-14 10:32:14 +08:00