Commit Graph

19950 Commits

Author SHA1 Message Date
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
zhuwenxing
6b51bae5be
test: add different nq for restful v2 test (#33456)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-31 13:57:45 +08:00
zhuwenxing
3336b91ce6
test: add channel exclusive balance test and resource group test (#33093)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-31 13:55:52 +08:00
zhuwenxing
4159a4d5d7
test: update nightly ci (#33430)
update nightly ci

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-31 13:54:07 +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
congqixia
842fb02f74
fix: Use localStorage path to check disk cap for indexnode (#33450)
See also #30943 #30944

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-31 10:15:45 +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
sre-ci-robot
23dedc2cbf Update all contributors
Signed-off-by: sre-ci-robot <sre-ci-robot@zilliz.com>
2024-05-30 12:01:00 +00: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
yihao.dai
bbb69980ac
enhance: Replace 'off' with 'disable' (#33433)
YAML will automatically parse "off" as a boolean variable. We should
avoid using "off" in the future.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-05-29 12:17:43 +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
sre-ci-robot
371c2d8826 Update all contributors
Signed-off-by: sre-ci-robot <sre-ci-robot@zilliz.com>
2024-05-28 12:00:44 +00: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
Bingyi Sun
6b3e42f8d8
fix: fix wrong default local storage path (#33389)
issue: https://github.com/milvus-io/milvus/issues/33427

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-05-28 16:49:43 +08:00
Francis
b138ae742d
fix: docs for python3 and conan (#32656)
Conan 1.x is broken for Python 3.12, since imp is deprecated in favour
of importlib, removed in 3.12.

https://github.com/milvus-io/milvus/issues/32655

Signed-off-by: light-city <455954986@qq.com>
2024-05-28 14:35:42 +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
sre-ci-robot
036b68e710 Update all contributors
Signed-off-by: sre-ci-robot <sre-ci-robot@zilliz.com>
2024-05-28 00:01:18 +00: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
nico
5b86226465
test: update test cases about connection (#33257)
Signed-off-by: nico <cheng.yuan@zilliz.com>
2024-05-27 14:59: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
zhuwenxing
ed883b39d7
test: use ml-dtypes lib to produce bf16 datatype (#33354)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-24 18:47: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
shaoting-huang
3c7d0209d4
enhance: update checker for go version (#33351)
Signed-off-by: shaoting-huang [shaoting-huang@zilliz.com]

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

Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
2024-05-24 14:23:40 +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