-
Notifications
You must be signed in to change notification settings - Fork 284
Add ForeachMVCCSpecificNodeInRange #22137
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
base: main
Are you sure you want to change the base?
Add ForeachMVCCSpecificNodeInRange #22137
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||
…ld/matrixone into debug_ForeachMVCCNodeInRange2
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue #22129
What this PR does / why we need it:
ForeachMVCCSpecificNodeInRange is used by "do checkpoint".
The purpose is to ensure that the checkpoint contains all data before the end timestamp.
PR Type
Bug fix
Description
Fix checkpoint timeout by adjusting MVCC node traversal logic
Modify checkpoint entry validation to require only 1 entry instead of 2
Add new
ForeachMVCCSpecificNodeInRangemethod for checkpoint operationsEnsure checkpoint contains all data before end timestamp
Changes diagram
Changes walkthrough 📝
db.go
Relax checkpoint entry validation requirementspkg/vm/engine/disttae/db.go
penultimate
ckp_writer.go
Update checkpoint collector traversal methodpkg/vm/engine/tae/logtail/ckp_writer.go
ForeachMVCCNodeInRangewithForeachMVCCSpecificNodeInRangeobject.go
Add specialized MVCC traversal for checkpointspkg/vm/engine/tae/catalog/object.go
ForeachMVCCSpecificNodeInRangemethod for checkpointoperations