-
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.4] Prevent balancer from overloading the same QueryNode #38720
fix: [2.4] Prevent balancer from overloading the same QueryNode #38720
Conversation
@weiliu1031 E2e jenkins job failed, comment |
fdb3bdf
to
eaeba70
Compare
@weiliu1031 E2e jenkins job failed, comment |
/run-cpu-e2e |
@weiliu1031 E2e jenkins job failed, comment |
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]>
eaeba70
to
1d5a58d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## 2.4 #38720 +/- ##
==========================================
+ Coverage 83.40% 83.42% +0.01%
==========================================
Files 809 809
Lines 143068 143115 +47
==========================================
+ Hits 119333 119400 +67
+ Misses 19243 19229 -14
+ Partials 4492 4486 -6
|
Signed-off-by: Wei Liu <[email protected]>
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: weiliu1031, xiaofan-luan 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.