-
Notifications
You must be signed in to change notification settings - Fork 285
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
ForeachMVCCSpecificNodeInRange
method for checkpoint operationsEnsure checkpoint contains all data before end timestamp
Changes diagram
Changes walkthrough 📝
db.go
Relax checkpoint entry validation requirements
pkg/vm/engine/disttae/db.go
penultimate
ckp_writer.go
Update checkpoint collector traversal method
pkg/vm/engine/tae/logtail/ckp_writer.go
ForeachMVCCNodeInRange
withForeachMVCCSpecificNodeInRange
object.go
Add specialized MVCC traversal for checkpoints
pkg/vm/engine/tae/catalog/object.go
ForeachMVCCSpecificNodeInRange
method for checkpointoperations