diff --git a/internal/querynode/collection_replica.go b/internal/querynode/collection_replica.go index 4dea0a2abe639efb0da6d5c2d968da296be7312e..ee68ec5f76130dfc5c5b63246b8e699a39fa43ac 100644 --- a/internal/querynode/collection_replica.go +++ b/internal/querynode/collection_replica.go @@ -540,11 +540,13 @@ func (colReplica *collectionReplica) replaceGrowingSegmentBySealedSegment(segmen colReplica.mu.Lock() defer colReplica.mu.Unlock() if segment.segmentType != segmentTypeSealed && segment.segmentType != segmentTypeIndexing { + deleteSegment(segment) return errors.New("unexpected segment type") } targetSegment, err := colReplica.getSegmentByIDPrivate(segment.ID()) if err == nil && targetSegment != nil { if targetSegment.segmentType != segmentTypeGrowing { + deleteSegment(segment) // target segment has been a sealed segment return nil } diff --git a/internal/querynode/segment.go b/internal/querynode/segment.go index 9f89cf83b37cf6c6c7b2b1bf5b0d82cba1cb0282..f7c7fdd8c1909db8a1848ac607be552e4d960db2 100644 --- a/internal/querynode/segment.go +++ b/internal/querynode/segment.go @@ -350,6 +350,10 @@ func (s *Segment) segmentInsert(offset int64, entityIDs *[]UniqueID, timestamps int sizeof_per_row, signed long int count); */ + if s.segmentType != segmentTypeGrowing || s.enableLoadBinLog { + return nil + } + if s.segmentPtr == nil { return errors.New("null seg core pointer") }