From 71fc23dd2400525fc8e97827c54d2f3edf554bee Mon Sep 17 00:00:00 2001 From: aoiasd <45024769+aoiasd@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:06:01 +0800 Subject: [PATCH] fix: [2.5] dropped segment in excluded segment use wrong excluded ts (#44771) relate: https://github.com/milvus-io/milvus/issues/43114 pr: https://github.com/milvus-io/milvus/pull/43115 https://github.com/milvus-io/milvus/pull/44769 --------- Signed-off-by: aoiasd --- internal/querynodev2/delegator/delegator_data.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/querynodev2/delegator/delegator_data.go b/internal/querynodev2/delegator/delegator_data.go index 89b3a62fd9..d8319caf5e 100644 --- a/internal/querynodev2/delegator/delegator_data.go +++ b/internal/querynodev2/delegator/delegator_data.go @@ -144,8 +144,14 @@ func (sd *shardDelegator) ProcessInsert(insertRecords map[int64]*InsertData) { if newGrowingSegment { sd.growingSegmentLock.Lock() - // check whether segment has been excluded - if ok := sd.VerifyExcludedSegments(segmentID, typeutil.MaxTimestamp); !ok { + // Forbid create growing segment in excluded segment + // (Now excluded ts may not worked for growing segment with multiple partition. + // Because use checkpoint ts as excluded ts when add excluded, but it may less than last message ts. + // And cause some invalid message not filtered out and create growing again. + // So we forbid all segment in excluded segment create here.) + // TODO: + // Use right ts when add excluded segment. And Verify with insert ts here. + if ok := sd.VerifyExcludedSegments(segmentID, 0); !ok { log.Warn("try to insert data into released segment, skip it", zap.Int64("segmentID", segmentID)) sd.growingSegmentLock.Unlock() growing.Release(context.Background())