Only balance segments in targets (#20636)

Signed-off-by: yah01 <yang.cen@zilliz.com>

Signed-off-by: yah01 <yang.cen@zilliz.com>
This commit is contained in:
yah01 2022-11-16 14:33:11 +08:00 committed by GitHub
parent d01092a119
commit 6b1bb85426
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -85,7 +85,11 @@ func (s *Server) balanceSegments(ctx context.Context, req *querypb.LoadBalanceRe
dstNodeSet.Remove(srcNode)
toBalance := typeutil.NewSet[*meta.Segment]()
// Only balance segments in targets
segments := s.dist.SegmentDistManager.GetByNode(srcNode)
segments = lo.Filter(segments, func(segment *meta.Segment, _ int) bool {
return s.targetMgr.GetSegment(segment.GetID()) != nil
})
allSegments := make(map[int64]*meta.Segment)
for _, segment := range segments {
allSegments[segment.GetID()] = segment