大量segment问题:如何减少L0 segment的生成? #38829
Unanswered
xiaobingxia-at
asked this question in
Q&A and General discussion
Replies: 1 comment
-
upsert和delete都会产生L0 segment过多的原因包括:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
通过文档和源码,我理解的是L0 segment指的是deleted record。因为各种原因,当前场景下需要存在大量的segment,我正在寻求各种途径把segment总数压到100k以下,因为我发现当segment太多时,会出现各种问题。
cluster 2.4.19。40k个partition,有几个插入线程不断给每个partition写小量数据。
我发现每append一批数据,会生成一个L0 segment,然后其row count为0. 这些L0 segment后期会被compact。由于我并没有删除数据,请问该如何避免生成L0 segment?
当segment太多时,删除一个query node节点会被阻塞住。其特征是,向其他query node migrate segment的速度会急剧降低,基本不太可能在两小时内完成。(如果是segment数目不多,可能5分钟就完了)。请问有什么办法可以避免该问题吗?还是说需要等这个PR release?
在搜索是看到一个新问题:
Search Error on collection: air_base_395, partition: base_8, Error: <MilvusException: (code=503, message=fail to search on QueryNode 3: distribution is not servcieable: channel not available[channel=milvus-40kp-40kb-hnsw-i4i-rootcoord-dml_90_454895056675449292v0])>
这个也是大量segment的副作用吗?有没有解决办法?
Beta Was this translation helpful? Give feedback.
All reactions