advancer: fix the incorrect gc safepoint behaviours (#52835)
This is an automated cherry-pick of #52835
What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tidb/issues/52082
Problem Summary:
- Advancer didn't handle GC response correct, if set the safepoint smaller(Normally it won't happen, because the ts from advancer always closed to the current time(RPO <= 5min)) than current service safepoint, it still get the response without error.
- Set service safepoint to 0 won't delete the value.
What changed and how does it work?
- handle the response with smaller ts request.
- add new interface to remove service safepoint.
Check List
Tests
- [x] Unit test
- [ ] Integration test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test
- [ ] I checked and no code files have been changed.
Side effects
- [ ] Performance regression: Consumes more CPU
- [ ] Performance regression: Consumes more Memory
- [ ] Breaking backward compatibility
Documentation
- [ ] Affects user behaviors
- [ ] Contains syntax changes
- [ ] Contains variable changes
- [ ] Contains experimental features
- [ ] Changes MySQL compatibility
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.
Fix the issue that del task won't clean up service safepoint.
Codecov Report
Attention: Patch coverage is 0% with 14 lines in your changes missing coverage. Please review.
Please upload report for BASE (
release-7.5@c371f8e). Learn more about missing BASE report.
Additional details and impacted files
@@ Coverage Diff @@
## release-7.5 #56698 +/- ##
================================================
Coverage ? 73.7516%
================================================
Files ? 1417
Lines ? 426476
Branches ? 0
================================================
Hits ? 314533
Misses ? 92292
Partials ? 19651
| Flag | Coverage Δ | |
|---|---|---|
| unit | 73.7516% <0.0000%> (?) |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Components | Coverage Δ | |
|---|---|---|
| dumpling | 52.9400% <0.0000%> (?) |
|
| parser | ∅ <0.0000%> (?) |
|
| br | 54.8311% <0.0000%> (?) |
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: 3pointer, YuJuncen
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~br/OWNERS~~ [3pointer,YuJuncen]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
[LGTM Timeline notifier]
Timeline:
/retest
/retest