-
Notifications
You must be signed in to change notification settings - Fork 276
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
flush object dedup 1.2 #16860
flush object dedup 1.2 #16860
Conversation
- reduce the size of tombstone files Approved by: @XuPeng-SH
PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here. PR Reviewer Guide 🔍
|
PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here. PR Code Suggestions ✨
|
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue #16630
What this PR does / why we need it:
reduce the size of tombstone files
PR Type
Bug fix, Enhancement
Description
foreachPersistedDeletes
to reduce the size of tombstone files.NewFlushTableTailTask
function to avoid processing duplicate objects by using a map to track seen objects.flushAllDeletesFromDelSrc
.GetLatestDeltaloc
method inObjectMVCCHandle
to handle cases wheredeltaloc
or its latest node is nil.Changes walkthrough 📝
base.go
Add deduplication logic for row IDs in persisted deletes
pkg/vm/engine/tae/tables/base.go
persisted deletes.
prev
variable to track the previous row ID and avoidduplicates.
mvcc.go
Improve robustness of `GetLatestDeltaloc` method
pkg/vm/engine/tae/tables/updates/mvcc.go
GetLatestDeltaloc
method to handle cases wheredeltaloc
orits latest node is nil.
flushTableTail.go
Improve object deduplication and tombstone statistics in flush tasks
pkg/vm/engine/tae/tables/jobs/flushTableTail.go
tables.