mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
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>
This commit is contained in:
parent
51cb2fbf97
commit
f54cf41830
@ -599,6 +599,15 @@ func (sd *shardDelegator) loadStreamDelete(ctx context.Context,
|
||||
})
|
||||
deltaPositions := req.GetDeltaPositions()
|
||||
|
||||
for _, info := range infos {
|
||||
candidate := idCandidates[info.GetSegmentID()]
|
||||
// forward l0 deletion
|
||||
err := sd.forwardL0Deletion(ctx, info, req, candidate, targetNodeID, worker)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
sd.deleteMut.RLock()
|
||||
defer sd.deleteMut.RUnlock()
|
||||
// apply buffered delete for new segments
|
||||
@ -628,12 +637,6 @@ func (sd *shardDelegator) loadStreamDelete(ctx context.Context,
|
||||
deleteScope = querypb.DataScope_Streaming
|
||||
}
|
||||
|
||||
// forward l0 deletion
|
||||
err := sd.forwardL0Deletion(ctx, info, req, candidate, targetNodeID, worker)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
deleteData := &storage.DeleteData{}
|
||||
// start position is dml position for segment
|
||||
// if this position is before deleteBuffer's safe ts, it means some delete shall be read from msgstream
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user