-
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: Prevent balancer from overloading the same QueryNode #38719
base: master
Are you sure you want to change the base?
fix: Prevent balancer from overloading the same QueryNode #38719
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: weiliu1031 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@weiliu1031 go-sdk check failed, comment |
rerun go-sdk |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #38719 +/- ##
===========================================
- Coverage 81.05% 69.33% -11.72%
===========================================
Files 1381 292 -1089
Lines 195090 26187 -168903
===========================================
- Hits 158131 18158 -139973
+ Misses 31398 8029 -23369
+ Partials 5561 0 -5561
|
@weiliu1031 go-sdk check failed, comment |
rerun go-sdk |
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]>
34026c1
to
c99cb48
Compare
@weiliu1031 go-sdk check failed, comment |
@weiliu1031 E2e jenkins job failed, comment |
issue: #38718
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.