-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: [2.5] Prevent balancer from overloading the same QueryNode #38724
fix: [2.5] Prevent balancer from overloading the same QueryNode #38724
Conversation
The balancer calculates the workload of executing tasks as an ongoing score for target nodes. However, a logic issue arises when GetSegmentTaskDelta or GetChannelTaskDelta is called with collectionID=-1, which incorrectly returns zero. Due to the incorrect global score, the executing task's workload is not properly reflected for each collection. Consequently, each collection submits its own balance task, leading to the balancer assigning excessive tasks to the same QueryNode. Signed-off-by: Wei Liu <[email protected]>
13a8e44
to
08afdfe
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## 2.5 #38724 +/- ##
==========================================
- Coverage 81.06% 81.05% -0.02%
==========================================
Files 1381 1381
Lines 195103 195130 +27
==========================================
- Hits 158156 158155 -1
- Misses 31390 31407 +17
- Partials 5557 5568 +11
|
Signed-off-by: Wei Liu <[email protected]>
@weiliu1031 go-sdk check failed, comment |
rerun go-sdk |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tedxu, weiliu1031 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
issue: #38718
pr: #38719
The balancer calculates the workload of executing tasks as an ongoing score for target nodes. However, a logic issue arises when GetSegmentTaskDelta or GetChannelTaskDelta is called with collectionID=-1, which incorrectly returns zero.
Due to the incorrect global score, the executing task's workload is not properly reflected for each collection. Consequently, each collection submits its own balance task, leading to the balancer assigning excessive tasks to the same QueryNode.