From c76b4ade01238c1764f047ab447492bf76a9d8a0 Mon Sep 17 00:00:00 2001 From: congqixia Date: Thu, 2 Jun 2022 12:52:03 +0800 Subject: [PATCH] Fix data race in LoadSegmentsTask (#17342) Signed-off-by: Congqi Xia --- internal/querynode/impl.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/querynode/impl.go b/internal/querynode/impl.go index bcaa52811c..63985f74fe 100644 --- a/internal/querynode/impl.go +++ b/internal/querynode/impl.go @@ -212,6 +212,10 @@ func (node *QueryNode) LoadSegments(ctx context.Context, in *queryPb.LoadSegment node: node, } + segmentIDs := make([]UniqueID, 0, len(in.GetInfos())) + for _, info := range in.Infos { + segmentIDs = append(segmentIDs, info.SegmentID) + } err := node.scheduler.queue.Enqueue(dct) if err != nil { status := &commonpb.Status{ @@ -221,10 +225,7 @@ func (node *QueryNode) LoadSegments(ctx context.Context, in *queryPb.LoadSegment log.Warn(err.Error()) return status, nil } - segmentIDs := make([]UniqueID, 0) - for _, info := range in.Infos { - segmentIDs = append(segmentIDs, info.SegmentID) - } + log.Info("loadSegmentsTask Enqueue done", zap.Int64("collectionID", in.CollectionID), zap.Int64s("segmentIDs", segmentIDs), zap.Int64("nodeID", Params.QueryNodeCfg.GetNodeID())) waitFunc := func() (*commonpb.Status, error) {