9246 Commits

Author SHA1 Message Date
zhagnlu
c6f8a73bb2
enhance: optimize some cache to reduce memory usage (#33534)
#33533

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2024-06-04 14:09:47 +08:00
congqixia
7f4698f4a7
enhance: Use map PK to timestamp in buffer insert (#33566)
Related to #27675

Store pk to minimal timestamp in `inData` instead of bloom filter to
check whether some delete entry hit current insert batch

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-06-04 10:07:48 +08:00
sre-ci-robot
d25c755480
[automated] Update Knowhere Commit (#33573)
Update Knowhere Commit
Signed-off-by: sre-ci-robot sre-ci-robot@users.noreply.github.com

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-04 01:55:46 +08:00
SimFG
44d7e03e56
fix: reset the RootCoordQuotaStates metric before recording this metric (#33553)
- issue: #33539

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-06-03 21:09:47 +08:00
congqixia
2b285e5573
fix: Wrap init segcore tracing with golang timeout (#33494)
See also #33483

Wrap `C.InitTrace` & `C.SetTrace` with timeout preventing otlp
initializtion hangs forever when endpoint is not set correctly

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-06-03 19:25:51 +08:00
wei liu
34c6a989ab
enhance: Avoid load bf in delegator when qn worker has no more memory (#33557)
query coord send load request to delegator, delegator load bf first,
then forward load request to qn worker. but when qn worker has no more
memory, it will return load failed immediatelly. then delegator roll
back the loaded bf. query coord wil retry the load request, and
delegator will load and roll back bf again and again.

this PR delay the loading bf step until load segment succeed in worker.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-06-03 19:23:45 +08:00
yiwangdr
180d754158
fix: speed up segment lookup via channel name in datacoord (#33530)
issue: #33342

Signed-off-by: yiwangdr <yiwangdr@gmail.com>
2024-06-03 14:47:47 +08:00
yihao.dai
7a2127b09f
enhance: Avoid redundant meta operations of import (#33518)
issue: https://github.com/milvus-io/milvus/issues/33513

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-06-03 14:15:53 +08:00
XuanYang-cn
0382628668
enhance: Add more tracing for l0 compactor (#33435)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2024-06-03 10:19:49 +08:00
smellthemoon
2c7bb0b8ac
fix: replace removeWithPrefix with remove to avoid delete redundantly (#33328)
#33288

---------

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-05-31 18:05:45 +08:00
wei liu
c6a1c49e02
enhance: Use Blocked Bloom Filter instead of basic bloom fitler impl. (#33405)
issue: #32995
To speed up the construction and querying of Bloom filters, we chose a
blocked Bloom filter instead of a basic Bloom filter implementation.

WARN: This PR is compatible with old version bf impl, but if fall back
to old milvus version, it may causes bloom filter deserialize failed.

In single Bloom filter test cases with a capacity of 1,000,000 and a
false positive rate (FPR) of 0.001, the blocked Bloom filter is 5 times
faster than the basic Bloom filter in both querying and construction, at
the cost of a 30% increase in memory usage.

- Block BF construct time	{"time": "54.128131ms"}
- Block BF size	                {"size": 3021578}
- Block BF Test cost	        {"time": "55.407352ms"}
- Basic BF construct time	{"time": "210.262183ms"}
- Basic BF size	                {"size": 2396308}
- Basic BF Test cost	        {"time": "192.596229ms"}

In multi Bloom filter test cases with a capacity of 100,000, an FPR of
0.001, and 100 Bloom filters, we reuse the primary key locations for all
Bloom filters to avoid repeated hash computations. As a result, the
blocked Bloom filter is also 5 times faster than the basic Bloom filter
in querying.

- Block BF TestLocation cost    {"time": "529.97183ms"}
- Basic BF TestLocation cost	{"time": "3.197430181s"}

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-05-31 17:49:45 +08:00
wei liu
322a4c5b8c
enhance: Remove StringPrimaryKey to reduce unnecessary copy and function call cost (#33486)
issue: #33497

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-05-31 15:41:45 +08:00
aoiasd
0cf225fa75
enhance: access log support restful api (#33155)
relate: https://github.com/milvus-io/milvus/issues/31823

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2024-05-31 11:13:44 +08:00
Buqian Zheng
4171414222
enhance: update knowhere version (#33490)
issue: https://github.com/milvus-io/milvus/issues/33489
update knowhere version to latest. remove usage of `seed_ef` as it be
replaced by existing `ef`.

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2024-05-31 10:17:50 +08:00
Jiquan Long
0c5d8660aa
feat: support inverted index for array (#33452)
issue: https://github.com/milvus-io/milvus/issues/27704

---------

Signed-off-by: longjiquan <jiquan.long@zilliz.com>
2024-05-31 09:47:47 +08:00
Chun Han
416a2cf507
fix: query iterator lack results(#33137) (#33422)
related: #33137 
adding has_more_result_tag for various level's reduce to rectify
reduce_stop_for_best

Signed-off-by: MrPresent-Han <chun.han@zilliz.com>
2024-05-30 17:51:44 +08:00
cai.zhang
77637180fa
enhance: Periodically synchronize segments to datanode watcher (#33420)
issue: #32809

---------

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-05-30 13:37:44 +08:00
zhagnlu
589d4dfd82
enhance: optimize bitmap index (#33358)
#32900

Signed-off-by: luzhang <luzhang@zilliz.com>
Co-authored-by: luzhang <luzhang@zilliz.com>
2024-05-30 13:09:43 +08:00
SimFG
8f46a20957
fix: show empty collection when has granted the all privilege (#33445)
- issue: #33382

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-05-29 20:51:44 +08:00
congqixia
54797b4286
enhance: Refine frequent log in datacoord (#33449)
This PR changes:
- Frequent `ListIndexes` success log to debug level
- Aggregate collection missing log after collection dropped in
`meta.GetCollectionIndexFilesSize`

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-29 19:15:43 +08:00
smellthemoon
08b94ea81d
enhance:change wrong log (#33447)
Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-05-29 18:35:44 +08:00
congqixia
a26d6cdf23
fix: Remove group checker when closing qn pipeline (#33443)
See also #33442

This fix shall prevent group checker keep printing "some node(s) haven't
received input" err message after collection released

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-29 14:07:44 +08:00
wei liu
b13932bb55
enhance: Enable database level replica num and resource groups for loading collection (#33052)
issue: #30040

This PR introduce two database level props:
1. database.replica.number
2. database.resource_groups

User can set those two database props by AlterDatabase API, then can
load collection without specified replica_num and resource groups. then
it will use database level load param when try to load collections.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-05-29 10:59:43 +08:00
congqixia
73c9b80a7d
enhance: Store locations for largest K in LocationCache (#33429)
See also #32642

`LocationCache` used map to store different locations for different K
which may cause lots of CPU time when get locations many times.

This PR change the implementation of LocationCache to store only the
location for the largest K used to totally remove the map access
operation.

See pprof from test of @XuanYang-cn 

![image](https://github.com/milvus-io/milvus/assets/84113973/ad17cff8-62ad-4d78-9bb0-f6df0512f4ea)

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-29 10:05:42 +08:00
jaime
3d29907b6e
enhance: decrease cpu overhead during filter segments on datacoord (#33130)
issue: #33129

Signed-off-by: jaime <yun.zhang@zilliz.com>
2024-05-28 19:17:43 +08:00
congqixia
e71b7c7cc9
enhance: Reduce datanode metacache frequent scan range (#33400)
See also #32165

There were some frequent scan in metacache:
- List all segments whose start positions not synced
- List compacted segments

Those scan shall cause lots of CPU time when flushed segment number is
large meanwhile `Flushed` segments can be skipped in those two scenarios

This PR make:
- Add segment state shortcut in metacache
- List start positions state before `Flushed`
- Make compacted segments state to be `Dropped` and use `Dropped` state
while scanning them

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-28 14:19:42 +08:00
XuanYang-cn
5e39aa9272
enhance: Make channel meta able to writer 200k plus segments (#33279)
See also: #33125

---------

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2024-05-28 12:33:42 +08:00
SimFG
2453181218
fix: not found database name in the datacoord meta object (#33411)
- issue: #33410

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-05-28 10:09:48 +08:00
ArenaSu
a59ed65c48
doc: [skip-e2e] add comments for task queue (#33388)
Add comments for task queue in internal/proxy/task_scheduler.go.

Signed-off-by: ArenaSu <704427617@qq.com>
2024-05-27 20:51:42 +08:00
jaime
0d3272ed6d
enhance: refine logs of cgo pool (#33373)
Signed-off-by: jaime <yun.zhang@zilliz.com>
2024-05-27 19:06:11 +08:00
SimFG
1973ebbc42
fix: quotaCenter collect metrics failed because the wrong param (#33398)
- issue: #33397

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-05-27 18:17:42 +08:00
aoiasd
59a7a46904
enhance: Merge query stream result for reduce delete task (#32855)
relate: https://github.com/milvus-io/milvus/issues/32854

---------

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2024-05-27 18:15:43 +08:00
Ted Xu
066c8ea175
feat: stream reader/writer to support nulls (#33080)
See: #31728

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-05-27 16:27:42 +08:00
wei liu
6275c75013
fix: Watch channel task may stuck forever until qn become offline (#33394)
issue: #32901
pr #32814 introduce the compatible issue, when upgrade to milvus latest,
the query coord may skip update dist due to the lastModifyTs doesn't
changes. but for old version querynode, the lastModifyTs in
GetDataDistritbuionResponse is always 0, which makes qc skip update
dist. then qc will keep retry the task to watch channel again and again.

this PR add compatible with old version querynode, when lastModifyTs is
0, qc will update it's data distribution.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-05-27 15:01:42 +08:00
Alexander Guzhva
9f9dff33f1
fix: make milvus compilable using gcc-13 (#30149)
add a missing header

Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
2024-05-27 14:52:53 +08:00
yihao.dai
5cf4161394
fix: Fix exception info is missing (#33393)
Replace based std::exception to prevent "object slicing"

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-05-27 14:33:41 +08:00
yihao.dai
af71116499
fix: Fix frequent 'failed to get request info' log (#33334)
issue: https://github.com/milvus-io/milvus/issues/33333

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-05-27 14:27:41 +08:00
PowderLi
ee73e62202
fix: [restful v2] search result be cut while nq > 1 (#33339)
issue: #33099 #32837 #32419

1. len(search result) may be nq * topk, we need return all rather than
topk
2. the  in restful response payload keep the same with milvus error code

Signed-off-by: PowderLi <min.li@zilliz.com>
2024-05-27 14:25:41 +08:00
SimFG
cb99e3db34
enhance: add the includeCurrentMsg param for the Seek method (#33326)
/kind improvement
- issue: #33325

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-05-27 10:31:41 +08:00
jaime
58ee613fea
enhance: remove repeated stats of loaded entity (#33255)
Signed-off-by: jaime <yun.zhang@zilliz.com>
2024-05-27 01:49:41 +08:00
cai.zhang
e708974578
enhance: Remove unused proto importing (#33321)
Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-05-27 01:37:28 +08:00
yihao.dai
760223f80a
fix: use seperate warmup pool and disable warmup by default (#33348)
1. use a small warmup pool to reduce the impact of warmup
2. change the warmup pool to nonblocking mode
3. disable warmup by default
4. remove the maximum size limit of 16 for the load pool

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
Co-authored-by: xiaofanluan <xiaofan.luan@zilliz.com>
2024-05-27 01:25:40 +08:00
Buqian Zheng
1b67cecd65
enhance: add sparse float vector support to restful v2 (#33231)
issue: #29419
also re-enabled an e2e test using restful api, which is previously
disabled due to https://github.com/milvus-io/milvus/issues/32214.

In restful api, the accepted json formats of sparse float vector are:

* `{"indices": [1, 100, 1000], "values": [0.1, 0.2, 0.3]}`
* {"1": 0.1, "100": 0.2, "1000": 0.3}

for accepted indice and value range, see
https://milvus.io/docs/sparse_vector.md#FAQ

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2024-05-27 00:47:40 +08:00
Xiaofan
36cbce4def
enhance: optimize datanode cpu usage under large collection number (#33267)
fix #33266 
try to improve cpu usage by refactoring the ttchecker logic and caching
string

Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
2024-05-25 04:43:41 +08:00
congqixia
970bf18a49
fix: Allocate new slice for each batch in streaming reader (#33359)
Related to #33268

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-24 18:07:41 +08:00
Bingyi Sun
370562b4ec
fix: fix partition loaded num metric (#33316)
issue: https://github.com/milvus-io/milvus/issues/32108

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-05-24 15:31:42 +08:00
SimFG
2964f60edc
enhance: the proxy metric in the query request (#33307)
/kind improvement
issue: #33306

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-05-24 14:19:41 +08:00
yiwangdr
e895cfed84
fix: reduce redundant map operations in datacoord (#33343)
More refactories will be added.
issue: #33342

Signed-off-by: yiwangdr <yiwangdr@gmail.com>
2024-05-24 12:47:40 +08:00
Ted Xu
a8bd9bea39
fix: adding blob memory size in binlog serde (#33324)
See: #33280

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-05-24 10:33:40 +08:00
Cai Yudong
4004e4c545
enhance: Optimize bulk insert unittest (#33224)
Issue: #22837

Signed-off-by: Cai Yudong <yudong.cai@zilliz.com>
2024-05-24 10:23:41 +08:00