-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
*: merge the runtime stats in time to avoid using too many memory #39394
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/hold |
/run-unit-test |
/unhold |
@@ -456,6 +454,9 @@ func (r *selectResult) Close() error { | |||
if respSize > 0 { | |||
r.memConsume(-respSize) | |||
} | |||
if r.stats != nil { | |||
defer r.ctx.GetSessionVars().StmtCtx.RuntimeStatsColl.RegisterStats(r.rootPlanID, r.stats) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why use defer
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use defer to ensure that the Close()
(make sure all goroutines have been exit in some parallel executer) is finished before registering stats.
|
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 35bbb14
|
/run-check_dev_2 |
/run-all-tests |
In response to a cherrypick label: new pull request created: #39462. |
Signed-off-by: ti-chi-bot <[email protected]>
In response to a cherrypick label: new pull request created: #39463. |
Signed-off-by: ti-chi-bot <[email protected]>
In response to a cherrypick label: new pull request created: #39464. |
Signed-off-by: ti-chi-bot <[email protected]>
TiDB MergeCI notify✅ Well Done! New fixed [2] after this pr merged.
|
What problem does this PR solve?
Issue Number: close #39413
Now tidb need to record some runtime stats for each executor/cop_task and so on, and merge them after the sql finfished.
If there are many cop tasks, the memory can't gc and hold util the sql finfished. Maybe it cause OOM.
Problem Summary:
When the stats will not updated, merge it to the summary stats.
What is changed and how it works?
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.