-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
ttl: use a pessimistic transaction to finish the job (#56516) #56967
ttl: use a pessimistic transaction to finish the job (#56516) #56967
Conversation
Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release-7.5 #56967 +/- ##
================================================
Coverage ? 72.0175%
================================================
Files ? 1415
Lines ? 412626
Branches ? 0
================================================
Hits ? 297163
Misses ? 95544
Partials ? 19919
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Signed-off-by: Yang Keao <yangkeao@chunibyo.icu>
b52a592
to
73898ca
Compare
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.
LGTM
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lcwangchao, YangKeao 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 |
[LGTM Timeline notifier]Timeline:
|
/retest |
1 similar comment
/retest |
This is an automated cherry-pick of #56516
What problem does this PR solve?
Issue Number: close #56422
Problem Summary:
When the job is finished, and at the same time the task is assigned to some TiDB node, it may fail to finish the job.
What changed and how does it work?
Use the pessimistic transaction to finish job. Then the
DELETE ... FROM tidb_ttl_tasks
will blockUPDATE mysql.tidb_ttl_task SET owner_id = ?...
(or in another direction).If the ttl task is removed, it'll finally be removed by
(m *taskManager) checkInvalidTask
in the memory.Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.