Commit Graph

9669 Commits (0f514708ff8e50116fad2ea40061f876d06921d4)

Author SHA1 Message Date
congqixia 0f514708ff
enhance: Accelerate Build stage by skipping cpp ut compilation (#37530)
Since master branch run cpp unittest in jenken, the cpp unit test
building could be skipped since the output is not needed in github
runner.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-08 14:06:26 +08:00
congqixia dcc1b506dc
enhance: Add context trace for querycoord queryable check (#37524)
When check health logic failed to collection not-queryable, the related
reason is hard to find in log.

This PR add context for log with trace id and print unqueryable
collection info log.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-08 14:00:26 +08:00
wei liu a03157838b
enhance: Enable node assign policy on resource group (#36968)
issue: #36977
with node_label_filter on resource group, user can add label on
querynode with env `MILVUS_COMPONENT_LABEL`, then resource group will
prefer to accept node which match it's node_label_filter.

then querynode's can't be group by labels, and put querynodes with same
label to same resource groups.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-11-08 11:18:27 +08:00
Xiaofan e073906a19
enhance: optimize describe collection and index (#37490)
fix #37489
combine multiple describe collection and list index into one call

Signed-off-by: xiaofanluan <xiaofan.luan@zilliz.com>
2024-11-08 10:18:34 +08:00
Zhen Ye 49657c4690
enhance: add create segment message, enable empty segment flush (#37407)
issue: #37172

- add redo interceptor to implement append context refresh. (make new
timetick)
- add create segment handler for flusher.
- make empty segment flushable and directly change it into dropped.
- add create segment message into wal when creating new growing segment.
- make the insert operation into following seq: createSegment -> insert
-> insert -> flushSegment.
- make manual flush into following seq: flushTs -> flushsegment ->
flushsegment -> manualflush.

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2024-11-08 10:16:34 +08:00
yihao.dai 81879425e1
enhance: Optimize the performance of stats task (#37374)
1. Increase the writer's `batchSize` to avoid multiple serialization
operations.
2. Perform asynchronous upload of binlog files to prevent blocking the
data processing flow.
3. Reduce multiple calls to `writer.Flush()`.

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

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-11-08 10:08:27 +08:00
Ted Xu bc9562feb1
enhance: avoid memory copy and serde in mix compaction (#37479)
See: #37234

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-11-07 16:30:57 -08:00
Bingyi Sun 40ba5a3414
fix: fix chunked segment term filter expression and add ut (#37392)
issue: https://github.com/milvus-io/milvus/issues/37143

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-11-07 11:04:19 -08:00
congqixia 5310d3469f
fix: Escape brace of dumped JSON for index err message (#37504)
Related to #37503

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-07 18:58:25 +08:00
Bingyi Sun 7ec449fee5
enhance: regenerate datacoord mockery (#37501)
Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-11-07 17:38:24 +08:00
yihao.dai 36bb87d9b6
fix: Fix large growing segment (#37388)
Consider the `sealProportion` factor during segment allocation.

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-11-07 17:12:25 +08:00
yihao.dai 994f52fab8
fix: Revert "enhance: Support db for bulkinsert (#37012)" (#37420)
This reverts commit 6e90f9e8d9.

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

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2024-11-07 17:02:25 +08:00
cai.zhang de627644f5
enhance: Update the template expression proto to improve transmission efficiency (#37484)
issue: #36672

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-07 16:28:25 +08:00
cai.zhang 4dc684126e
enhance: Handoff growing segment after sorted (#37385)
issue: #33744 

1. Segments generated from inserts will be loaded as growing until they
are sorted by primary key.
2. This PR may increase memory pressure on the delegator, but we need to
test the performance of stats. In local testing, the speed of stats is
greater than the insert speed.

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-07 16:08:24 +08:00
Ted Xu e47bf21305
fix: parse error given duplicated plan cache key (#37334)
See: #37016

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-11-07 15:14:25 +08:00
wei liu 00f6d0ec51
fix: watch channel stuck due to misuse of timer.Reset (#37433)
issue: #37166
cause the misuse of timer.Reset, which cause dispatcher failed to send
msg to virtual channel buffer, and dispatcher do splitting again and
again, which hold the dispatcher manager's lock, block watching channel
progress.

This PR fix the misuse of timer.Reset

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-11-07 14:34:24 +08:00
smellthemoon 86fd3200be
enhance: refactor createIndex in RESTful API (#37235)
Make the parameter input method consistent with miluvs-client.

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-11-07 14:18:30 +08:00
Buqian Zheng 40b770cb7b
fix: add rescorer activation function for BM25 (#37481)
issue: #35853

Signed-off-by: Buqian Zheng <zhengbuqian@gmail.com>
2024-11-07 12:08:25 +08:00
jaime f348bd9441
feat: add segment,pipeline, replica and resourcegroup api for WebUI (#37344)
issue: #36621

Signed-off-by: jaime <yun.zhang@zilliz.com>
2024-11-07 11:52:25 +08:00
smellthemoon 9b6dd23f8e
fix: wrong path spelling when use rootpath in segcore (#37453)
#36532

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-11-07 11:22:25 +08:00
aoiasd b4c749dcd5
fix: merge sort segment loss data (#37400)
relate: https://github.com/milvus-io/milvus/issues/37238

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2024-11-07 11:18:26 +08:00
XuanYang-cn 51ed2a61c8
fix: Correct dropped segment num metrics (#37410)
See also: #31891

Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2024-11-07 11:16:24 +08:00
cai.zhang aed3b94b5d
enhance: Refine error message for contains array (#37383)
issue: #36221

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-07 10:44:25 +08:00
Zhen Ye cae9e1c732
fix: drop collection failed if enable streaming service (#37444)
issue: #36858

- Start channel manager on datacoord, but with empty assign policy in
streaming service.
- Make collection at dropping state can be recovered by flusher to make
sure that
 milvus consume the dropCollection message.
- Add backoff for flusher lifetime.
- remove the proxy watcher from timetick at rootcoord in streaming
service.

Also see the better fixup: #37176

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2024-11-07 10:26:26 +08:00
congqixia ee54a98578
enhance: Add cgo call metrics for load/write API (#37405)
Cgo API cost is not observerable since not metrics is related to them.
This PR add metrics for some sync cgo call related to load & write

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-07 10:06:25 +08:00
congqixia 92028b7ff7
enhance: Use cancel label for ctx canceled storage op (#37468)
Previously failed label is used for canceled storage op, which may cause
wrong alarm when user cancel load operation or etc. This PR utilizes
cancel label when such case happens.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-06 19:38:24 +08:00
aoiasd d67853fa89
feat: Tokenizer support build with params and clone for concurrency (#37048)
relate: https://github.com/milvus-io/milvus/issues/35853
https://github.com/milvus-io/milvus/issues/36751

---------

Signed-off-by: aoiasd <zhicheng.yue@zilliz.com>
2024-11-06 17:48:24 +08:00
wei liu 8714774305
fix: search/query failed due to segment not loaded (#37403)
issue: #36970
cause release segment and balance channel may happen at same time, and
before new delegator become serviceable, if release segment exeuctes on
new delegator, and search/query comes on old delegator, then release
segment and query segment happens in parallel, if release segment
execute first in worker, then search/query will got a SegmentNodeLoaded
error.

This PR add serviceable filter on delegator, then all load/release
segment operation will happens on serviceable delegator.

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-11-06 15:10:25 +08:00
SimFG f1dd55e0c0
enhance: improve rootcoord task scheduling policy (#37352)
- issue: #30301

Signed-off-by: SimFG <bang.fu@zilliz.com>
2024-11-06 14:48:26 +08:00
cai.zhang 625b6176cd
fix: Search for pk using raw data to reduce the overhead caused by views (#37202)
issue: #37152

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-05 20:36:24 +08:00
congqixia 9a9de3df5c
enhance: Pass rpc stats via gin.Context (#37439)
Related #37223

RPC stats worked in middleware but faild to get method & collection info

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-05 18:26:23 +08:00
Bingyi Sun bd04cac4b3
fix: fix group by on chunked segment (#37292)
https://github.com/milvus-io/milvus/issues/37244

---------

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-11-05 17:12:23 +08:00
Zhen Ye 9a0e1c82bc
fix: repeated error code in milvus and segcore (#37359)
issue: #37357

Signed-off-by: chyezh <chyezh@outlook.com>
2024-11-05 16:28:23 +08:00
wei liu b83b376cfc
fix: Search/Query may failed during updating delegator cache. (#37116)
issue: #37115

casue init query node client is too heavy, so we remove
updateShardClient from leader mutex, which cause much more concurrent
cornor cases.

This PR delay query node client's init operation until `getClient` is
called, then use leader mutex to protect updating shard client progress
to avoid concurrent issues.

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2024-11-05 10:52:23 +08:00
Zhen Ye 0c4321cf57
fix: crash when startup if the milvus volume is on-operation concurrently (#37312)
issue: #37311

Signed-off-by: chyezh <chyezh@outlook.com>
2024-11-04 14:50:23 +08:00
foxspy c27f477b6c
enhance: Update Knowhere version (#37333)
issue: #37269

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-04 11:56:31 +08:00
foxspy eaf86f7649
fix: optimize invalid datatype error msg (#37376)
issue: #37151

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-04 11:46:28 +08:00
congqixia f54cf41830
enhance: Move forward l0 logic out of delta lock (#37337)
Related to #35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-04 10:42:22 +08:00
smellthemoon 51cb2fbf97
fix: parse fail in empty json (#37294)
#37200

Signed-off-by: lixinguo <xinguo.li@zilliz.com>
Co-authored-by: lixinguo <xinguo.li@zilliz.com>
2024-11-03 19:00:21 +08:00
cai.zhang 50de122dc7
enhance: Rename textmatch to text_match (#37290)
issue: #36672

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-03 18:40:27 +08:00
cai.zhang 0449c74d44
fix: Fix the bug where some expressions do not correctly parse the value (#37341)
issue: #37274

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-02 13:24:22 +08:00
Ted Xu b792b199d7
enhance: load deltalogs on demand when doing compactions (#37310)
See #37234

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-11-01 16:40:21 +08:00
wayblink d119a2541a
fix: fix hasCollection response has no status (#37254)
issue: #37257

Signed-off-by: wayblink <anyang.wang@zilliz.com>
2024-11-01 15:40:21 +08:00
congqixia be71b98146
enhance: Fix case error msg after knowhere upgrade (#37339)
Previous PR: #37315

Error message updated after knowhere behavior change, this PR update
corresponding test error message.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-01 14:00:22 +08:00
Yinzuo Jiang 5aad000a93
enhance: [skip ci] remove tools/core_gen after #35251 (#36306)
`tools/core_gen` python scripts are useless after
https://github.com/milvus-io/milvus/pull/35251

fixes: #36305

Signed-off-by: Yinzuo Jiang <yinzuo.jiang@zilliz.com>
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-11-01 13:08:21 +08:00
foxspy 642a651f60
enhance: remove useless vector index param checker (#37329)
issue: #34298 
because all vector index config checker has been moved into
vector_index_checker, then the useless checkers can be removed.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-01 06:20:21 +08:00
foxspy 3224e58c5b
enhance: add unify vector index config management (#36846)
issue: #34298

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-01 06:18:21 +08:00
Bingyi Sun cd2655c861
fix: fix wrong method is called to fetch variable valid data (#37304)
issue: https://github.com/milvus-io/milvus/issues/37147

Signed-off-by: sunby <sunbingyi1992@gmail.com>
2024-11-01 01:52:20 +08:00
zhenshan.cao 63843dce33
fix: Fix conan gdal building problem (#37338)
issue:https://github.com/milvus-io/milvus/issues/27576

Signed-off-by: zhenshan.cao <zhenshan.cao@zilliz.com>
2024-10-31 21:04:16 +08:00
Hao Tan 67c4340565
feat: Geospatial Data Type and GIS Function Support for milvus server (#35990)
issue:https://github.com/milvus-io/milvus/issues/27576

# Main Goals
1. Create and describe collections with geospatial fields, enabling both
client and server to recognize and process geo fields.
2. Insert geospatial data as payload values in the insert binlog, and
print the values for verification.
3. Load segments containing geospatial data into memory.
4. Ensure query outputs can display geospatial data.
5. Support filtering on GIS functions for geospatial columns.

# Solution
1. **Add Type**: Modify the Milvus core by adding a Geospatial type in
both the C++ and Go code layers, defining the Geospatial data structure
and the corresponding interfaces.
2. **Dependency Libraries**: Introduce necessary geospatial data
processing libraries. In the C++ source code, use Conan package
management to include the GDAL library. In the Go source code, add the
go-geom library to the go.mod file.
3. **Protocol Interface**: Revise the Milvus protocol to provide
mechanisms for Geospatial message serialization and deserialization.
4. **Data Pipeline**: Facilitate interaction between the client and
proxy using the WKT format for geospatial data. The proxy will convert
all data into WKB format for downstream processing, providing column
data interfaces, segment encapsulation, segment loading, payload
writing, and cache block management.
5. **Query Operators**: Implement simple display and support for filter
queries. Initially, focus on filtering based on spatial relationships
for a single column of geospatial literal values, providing parsing and
execution for query expressions.
6. **Client Modification**: Enable the client to handle user input for
geospatial data and facilitate end-to-end testing.Check the modification
in pymilvus.

---------

Signed-off-by: tasty-gumi <1021989072@qq.com>
2024-10-31 20:58:20 +08:00