mirror of https://github.com/milvus-io/milvus.git
fix: L0 segment has been loaded to worker during channel balance (#37748)
issue: #37703 --------- Signed-off-by: Wei Liu <wei.liu@zilliz.com>pull/37786/head
parent
5065d778d6
commit
351463b67e
|
@ -412,9 +412,16 @@ func (sd *shardDelegator) LoadSegments(ctx context.Context, req *querypb.LoadSeg
|
|||
log := sd.getLogger(ctx)
|
||||
|
||||
targetNodeID := req.GetDstNodeID()
|
||||
if len(req.GetInfos()) > 0 && req.GetInfos()[0].Level == datapb.SegmentLevel_L0 {
|
||||
// force l0 segment to load on delegator
|
||||
if targetNodeID != paramtable.GetNodeID() {
|
||||
targetNodeID = paramtable.GetNodeID()
|
||||
log.Info("unexpected L0 segment load on non-delegator node, force to load on delegator", zap.Int64("nodeIDInReq", req.GetDstNodeID()))
|
||||
}
|
||||
}
|
||||
// add common log fields
|
||||
log = log.With(
|
||||
zap.Int64("workID", req.GetDstNodeID()),
|
||||
zap.Int64("workID", targetNodeID),
|
||||
zap.Int64s("segments", lo.Map(req.GetInfos(), func(info *querypb.SegmentLoadInfo, _ int) int64 { return info.GetSegmentID() })),
|
||||
)
|
||||
|
||||
|
@ -424,7 +431,7 @@ func (sd *shardDelegator) LoadSegments(ctx context.Context, req *querypb.LoadSeg
|
|||
return err
|
||||
}
|
||||
|
||||
req.Base.TargetID = req.GetDstNodeID()
|
||||
req.Base.TargetID = targetNodeID
|
||||
log.Debug("worker loads segments...")
|
||||
|
||||
sLoad := func(ctx context.Context, req *querypb.LoadSegmentsRequest) error {
|
||||
|
|
Loading…
Reference in New Issue