diff --git a/internal/querynode/search_collection.go b/internal/querynode/search_collection.go index ef9fb761a052b76bc8ba48e174b2a291d5c6ddff..f69f8d9ee2d9545751b01c0e1b559fe60f6d1e92 100644 --- a/internal/querynode/search_collection.go +++ b/internal/querynode/search_collection.go @@ -461,12 +461,14 @@ func (s *searchCollection) search(searchMsg *msgstream.SearchMsg) error { // historical search hisSearchResults, hisSegmentResults, err1 := s.historical.search(searchRequests, collectionID, searchMsg.PartitionIDs, plan, searchTimestamp) - if err1 == nil { - searchResults = append(searchResults, hisSearchResults...) - matchedSegments = append(matchedSegments, hisSegmentResults...) - for _, seg := range hisSegmentResults { - sealedSegmentSearched = append(sealedSegmentSearched, seg.segmentID) - } + if err1 != nil { + log.Error(err1.Error()) + return err1 + } + searchResults = append(searchResults, hisSearchResults...) + matchedSegments = append(matchedSegments, hisSegmentResults...) + for _, seg := range hisSegmentResults { + sealedSegmentSearched = append(sealedSegmentSearched, seg.segmentID) } // streaming search @@ -476,17 +478,13 @@ func (s *searchCollection) search(searchMsg *msgstream.SearchMsg) error { var strSegmentResults []*Segment strSearchResults, strSegmentResults, err2 = s.streaming.search(searchRequests, collectionID, searchMsg.PartitionIDs, channel, plan, searchTimestamp) if err2 != nil { - break + log.Error(err2.Error()) + return err2 } searchResults = append(searchResults, strSearchResults...) matchedSegments = append(matchedSegments, strSegmentResults...) } - if err1 != nil && err2 != nil { - log.Error(err1.Error() + err2.Error()) - return errors.New(err1.Error() + err2.Error()) - } - sp.LogFields(oplog.String("statistical time", "segment search end")) if len(searchResults) <= 0 { for _, group := range searchRequests {