Closed ti-chi-bot closed 2 weeks ago
/retest
Attention: Patch coverage is 84.09091%
with 7 lines
in your changes are missing coverage. Please review.
Please upload report for BASE (
release-7.5@19b7d4f
). Learn more about missing BASE report.
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: hawkingrei, hi-rustin
The full list of commands accepted by this bot can be found here.
The pull request process is described here
Timeline:
2024-05-17 08:06:02.404649563 +0000 UTC m=+1813316.161785130
: :ballot_box_with_check: agreed by hawkingrei.2024-05-17 08:08:14.346270283 +0000 UTC m=+1813448.103405856
: :ballot_box_with_check: agreed by hi-rustin.
This is an automated cherry-pick of #52796
What problem does this PR solve?
Issue Number: close #52797
Problem Summary:
What changed and how does it work?
before
All items the query needs will be put into the global task channel( the default capacity is 1000). And workers will merge the same task with the singleflight. So performance depends on the number of tasks that can be concurrently executed. Under poor performance conditions, he will not be able to handle a sufficient number of tasks, resulting in slow processing. But there are still many same tasks in the channel. So they still need to check whether to sync load. And They will fill up this channel. Query can not insert the sync load task into it and load necessary stats.
after
So we need to refactor this code. We need first to let the query pass through singleflight to merge identical tasks. Then insert the task into the channel to make the worker syncload it.
So why is it that during the startup of Wetech, the queries are very unstable and there are severe timeouts with sync load? The problem lies right here.
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.