Commit Graph

8440 Commits (cdc_test)

Author SHA1 Message Date
yihao.dai 35664fa302
enhance: Support retriving file size from importutilv2.Reader (#31533) (#31594)
To reduce the overhead caused by listing the S3 objects, add an
interface to importutil.Reader to retrieve file sizes.

issue: https://github.com/milvus-io/milvus/issues/31532,
https://github.com/milvus-io/milvus/issues/28521

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-26 10:09:08 +08:00
Alexander Guzhva 3addc68c66
enhance: [Cherry-pick] Custom bitset and bitset_view implementations (#31592)
Issue: https://github.com/milvus-io/milvus/issues/31285
pr: https://github.com/milvus-io/milvus/pull/30454

Basically, I've replaced FixedVector<bool> and boost::dynamic_bitset
with custom bitset and bitsetview in order to reduce the memory
bandwidth & increase performance for the filtering.

(cherry picked from commit 5dcecc882d)
2024-03-26 10:05:09 +08:00
cqy123456 17eb0c276c
fix: add some check fieldata dim to avoid error data input (#31478)
issue:https://github.com/milvus-io/milvus/issues/30138
pr: https://github.com/milvus-io/milvus/pull/31564

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
2024-03-25 19:29:08 +08:00
yihao.dai f1a108c97b
enhance: Add max file num limit and max file size limit for import (#31497) (#31542)
The max number of import files per request should not exceed 1024 by
default (configurable).
The import file size allowed for importing should not exceed 16GB by
default (configurable).

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

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-25 14:33:07 +08:00
yihao.dai 8858f8d612
enhance: Return more fields in import progress response (#31539) (#31561)
Return more fields in import progress response, include importedRows and
totalRows. Additionally, ensure compatibility with the old import
progress response by retaining fields of create timestamp and row count.

issue: https://github.com/milvus-io/milvus/issues/31448
https://github.com/milvus-io/milvus/issues/31237
https://github.com/milvus-io/milvus/issues/28521

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-25 14:27:07 +08:00
congqixia 6e0baa47e2
enhance: [Cherry-pick] Release level zero segments when channel unsub (#31486) (#31509)
Cherry-pick from master
pr: #31486
Related to #27349
See also #30816

Level zero is not allowed to balance among delegators, they shall always
serve current delegator. This PR releases all level zero segments after
channel is unsubscribed and preventing level zero segment blocking
graceful stop.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-25 10:21:08 +08:00
yihao.dai 1e0bf5acd2
enhance: Remove import v1 (#31403) (#31535)
Remove all code and logic related to import v1.

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

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-24 21:51:07 +08:00
congqixia 5d3aa2a496
fix: [Cherry-pick] Check latest leader exists before using it (#31500) (#31546)
Cherry-pick from master
pr: #31500
See also #31495

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-23 11:51:06 +08:00
congqixia 99774548f2
enhance: [Cherry-pick] Add AllPartitionsID const to replace InvalidPartitionID (#31438) (#31515)
Cherry-pick from master
pr: #31438

"-1" as `InvalidPartitionID` previously used as All partition place
holder in delete cases. It's confusing and hard to maintain when a const
var has more than one meaning.

This PR add `AllPartitionsID` to replace these usages in delete
scenarios.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-22 16:37:08 +08:00
congqixia b8d8805c87
fix: [Cherry-pick] Use mutex protection when accessing pks of l0 segments (#31505) (#31517)
Cherry-pick from master
pr: #31505
See also #31504

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-22 16:07:08 +08:00
congqixia 278233391f
fix: [2.4] Check nodeID before update channel checkpoint (#31473) (#31507)
Cherry-pick from master
pr: #31473
See also #31470 #31506

This PR adds nodeID assignment verification before updating channel
checkpoints.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-22 15:39:06 +08:00
yihao.dai 47868e9d34
enhance: Enhance the load balancing of import tasks (#31423) (#31475)
Optimize the load balancing of import tasks.

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

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-21 19:59:07 +08:00
congqixia df154ccfc7
fix: [Cherry-pick] Use correct ticker for gc work defer (#31456) (#31462)
Cherry-pick from master
pr: #31456
See also #31362

Fix the second defer using same ticker var.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-21 14:29:07 +08:00
groot a0535edb67
enhance: Support MinIO TLS connection (#31396)
issue: https://github.com/milvus-io/milvus/issues/30709
pr: https://github.com/milvus-io/milvus/pull/31292

Signed-off-by: yhmo <yihua.mo@zilliz.com>
Co-authored-by: Chen Rao <chenrao317328@163.com>
2024-03-21 11:15:20 +08:00
chyezh 775129bd4e
enhance: add resource usage estimate for segment interface (#31309)
issue: #30931
pr: #31050

- move resource estimate function outside from segment loader.
- add load info and collection to base segment.
- add resource usage method for sealed segment.

Signed-off-by: chyezh <chyezh@outlook.com>
2024-03-21 09:27:07 +08:00
congqixia c6019c4f9d
enhance: [Cherry-pick] Add metrics for querycoord current target cp lag (#31391) (#31420)
Cherry-pick from master
pr: #31391 #31399
See also #31390

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-20 20:47:10 +08:00
wei liu 7abebf81a3
fix: Load segment task promote failed (#31431)
issue: #30816
pr: #31430

pr #31319 introduce the logic that segment checker need to load level
zero segment which only exist in current target.

This PR fix load segment task promote failed when segment only belongs
to current target

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-20 15:11:05 +08:00
zhagnlu 6856ba1e69
fix: fix mmap failed when string field all value is empty (#31418)
pr: #31406

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2024-03-20 14:45:10 +08:00
cai.zhang 7f201e803c
fix: Fix bug for get segment index state (#31428)
issue: #31361 
master pr: #31427

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-03-20 13:01:13 +08:00
wei liu f4449d4ef4
fix: Wrong behavior of CurrentTargetFirst/NextTargetFirst in target manager (#31378)
issue: #31162
pr: #31379

when give scope CurrentTargetFirst/NextTargetFirst, it's expected to
scan both current and next target.

This PR fixed wrong behavior of CurrentTargetFirst/NextTargetFirst in
target manager, which may cause unexpected task generated, and load
collection may stuck forever due to dirty leader view.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-19 11:41:05 +08:00
XuanYang-cn 8946aa10d4
enhance: [cherry-pick]Skip submmit empty l0 tasks in DC (#31338)
pr: #31280

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2024-03-19 10:15:12 +08:00
wei liu 0dbc0f2c11
fix: Hybrid search doesn't expire shard leader cache (#31381)
issue: #31351
pr: #31380
This PR fixed that search/hybrid_search doesn't expire shard leader
cache when send request to query node failed, which make every request
keep trying to connect a offline query node

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-19 10:05:05 +08:00
congqixia 3254a14319
fix: [Cherry-pick] Cleanup write buffer when flowgraph released (#31377)
Cherry-pick from master
pr: #31376
See also #30137

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-18 23:47:06 +08:00
Xiaofan b2b107a774
fix: [cherry-pick] get compaction failure when datanode is actually live (#31356)
if get compaction result failed, then skip processing compaction 
pr: #31353
see also #31352

Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
2024-03-18 22:53:05 +08:00
yihao.dai 72acd1d676
feat: Add RBAC functionality to ImportV2 (#31298) (#31337)
issue: https://github.com/milvus-io/milvus/issues/31282,
https://github.com/milvus-io/milvus/issues/28521

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-18 22:29:05 +08:00
Bingyi Sun e7b053817d
feat: Add global mmap enable configuration (#31267) (#31373)
https://github.com/milvus-io/milvus/issues/31279
related pr: #31267

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-03-18 21:57:05 +08:00
congqixia 89cff29b6a
enhance: [Cherry-pick] Use different interval for gc scan (#31364)
Cherry-pick from master
pr: #31363
See also #31362

This PR make datacoord garbage collection scan operation using differet
interval than other opeartion.

This interval is a newly added param item, which default value is 7*24
hours.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-18 21:43:05 +08:00
wei liu 7ee7d484cc
fix: Transfer l0 segment to new delegator after balance (#31332)
issue: #30186
pr: #31319

during channel balance, after new delegator loaded, instead of syncing
l0 segment's location to new delegator, we should load l0 segment on new
delegator, and release the old l0 segment, then start to release old
delegator.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-18 20:49:04 +08:00
yihao.dai 1885d176cf
fix: Return specific error code when encountering incomplete requery results (#31343) (#31359)
During requery, segments may change (e.g., due to compaction), so we
need to return specific error codes when encountering incomplete requery
results. Clients can then retry to avoid this issue.

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

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-18 19:43:06 +08:00
sammy.huang b773581fde
enhance: fetch simdjson directly in the format of targz (#31370)
pr: #31369

Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-03-18 18:55:10 +08:00
congqixia 4e83ca46bc
fix: [cherry-pick] Report offline info in `GetDataDistribition` (#31349)
Cherry pick from master
pr: #31347
See also #31345

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-18 17:05:05 +08:00
PowderLi f863f58785
fix: [restful v2] add hybrid_search (#31344)
master old pr: #31113
(will updated after 2.4-rc released)

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-03-18 16:51:06 +08:00
yihao.dai 3c3be49cf4
fix: Fix binlog import (#31310) (#31330)
Fix binlog import functionality by removing the existing check and
refining the size retrieval process.

issue: https://github.com/milvus-io/milvus/issues/31221,
https://github.com/milvus-io/milvus/issues/28521

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-18 15:41:05 +08:00
liliu-z fdb3231151
enhance: Upgrade Knowhere (#31308)
/kind improvement

Signed-off-by: Li Liu <li.liu@zilliz.com>
2024-03-18 14:21:04 +08:00
wei liu 555d96ff05
fix: Unstable ut TestGetClientFailed (#31296) (#31335)
issue: #31295
pr: #31335

This PR fix unstable ut TestGetClientFailed

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-18 13:51:04 +08:00
wei liu 3987cd69d7
fix: save current target after target observer stop (#31333)
issue: #28491
pr: #31315

should save target to meta store after target observer stop, incase of
target changed

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-18 13:49:11 +08:00
cai.zhang 85a1b6c96e
enhance: When describing an index, fetch the index info in batches (#31305)
issue: #29313
master pr: #31238

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-03-18 12:31:05 +08:00
zhagnlu 7e3ac66617
fix: fix wrong guaranteeTs for hybrid search (#31329)
pr: #31302

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2024-03-18 12:29:04 +08:00
PowderLi f2814f2eea
fix: [CHERRY-PICK] [restful v2] create a collection with vector field name (#31318)
fix: [restful v2] create a collection with vector field name
master pr: #31317

1. quickly create collection, create an index on the vector field #31149
2. valid consistencyLevel is needed, while create a collection
3. show collection's properties and aliases #31180
4. list aliase for one collection, default is the whole database

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-03-17 20:07:04 +08:00
Buqian Zheng 99e0d28c9e
fix: [2.4 sparse float vector] support the new streaming deserialize reader (#31326)
issue: https://github.com/milvus-io/milvus/issues/31324

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2024-03-16 23:58:22 -07:00
congqixia 08aba2e05f
fix: Remove `QueryNodeEntitiesSize` after segment/collection released (#31290)
See also #31289

This PR:
- Set collection level `QueryNodeEntitiesSize` to zero if all segment
released
- Delete `QueryNodeEntitiesSize` metrics value after collection ref is
zero

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-15 15:43:04 +08:00
Gao 038c570ef3
enhance: upgrade folly to run on arm (#31284)
Signed-off-by: chasingegg <chao.gao@zilliz.com>
2024-03-15 15:39:03 +08:00
yihao.dai c408a32db6
feat: Add disk quota checks for import V2 (#31131)
Return quota error when the files to be imported exceed the disk quota.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-15 14:43:03 +08:00
wei liu d79aa58b37
enhance: Speed up target recovery after query coord restart (#31240)
issue: #28491

after querycoord restart, it will pull a new target, which include
channel and segment list. when segments loaded on querynode has reached
the target, the collection could provide search/query. but if segment
list changes by time, ater querycoord pull a new target, it will takes a
few minutes to catch up the target's segment distribution. and before
that, query/search will fail due to lack of segments.

This PR save the current loaded target to meta storein querycoord's stop
progress, and recover it when query coord starts, to speed up the target
recovery time.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-15 14:19:03 +08:00
yihao.dai 2b035ba2d4
enhance: Allow import tasks to retry for more errors (#31268)
Allow import tasks to retry for a wider range of errors, including all
gRPC errors and unexpected status codes from Milvus.

issue: https://github.com/milvus-io/milvus/issues/31227,
https://github.com/milvus-io/milvus/issues/28521

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-15 11:05:04 +08:00
yihao.dai 811316d2ba
fix: Fix binlog import and refine error reporting (#31241)
1. Fix binlog import with partition key.
2. Refine binlog import error reportins.
3. Avoid division by zero when retrieving import progress.

issue: https://github.com/milvus-io/milvus/issues/31221,
https://github.com/milvus-io/milvus/issues/28521

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-03-15 10:55:05 +08:00
chyezh ff4237bb90
enhance: add hostname into node info (#30673)
issue: https://github.com/milvus-io/milvus/issues/30647

- Address may be reused in k8s environment. Using hostname can be
better.

Signed-off-by: chyezh <chyezh@outlook.com>
2024-03-15 10:45:06 +08:00
jaime db79be3ae0
fix: ctx cancel should be the last step while stopping server (#31220)
issue: #31219

Signed-off-by: jaime <yun.zhang@zilliz.com>
2024-03-15 10:33:05 +08:00
wei liu ca8eee2c47
fix: Set node unreachable when get shard client failed (#31277)
issue: #30531

cause get client from `shardClientMgr`, doesn't means query node is
unavailable. because of the ref counter policy in `shardClientMgr`,
which will clean the client, if no collection use qn as shard leader.

This PR fix that set node unreachable when get shard client failed.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-03-15 10:23:03 +08:00
XuanYang-cn a1386bae7f
fix: Skip to submit l0 tasks when scheduler full (#31270)
See also: #31242

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2024-03-15 10:21:12 +08:00