-
Notifications
You must be signed in to change notification settings - Fork 458
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
feat(pageserver): support partial gc-compaction for delta layers #9611
Conversation
5372 tests run: 5152 passed, 0 failed, 220 skipped (full report)Flaky tests (2)Postgres 17
Code coverage* (full report)
* collected from Rust tests only The comment gets automatically updated with the latest test results
6641f10 at 2024-11-11T20:39:49.439Z :recycle: |
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.
The final patch for partial compaction,
Hm, is this truly the final piece of work in partial bottommost compaction? We don't support partial bottommost compaction yet.
We should not have a not-partial-bottommost-compact going forward, to reduce the amount of potential code paths that need to be kept in mind / reviewed.
Hence, can we please switch the API to take the compaction_key_range
a Range<Key>
instead of Option<Range<Key>>
.
Full bottommost compaction unit tests can pass Key::MIN..Key::MAX
. Or should it be just ..
? Or Key::Min..=Key::MAX
.
Anyway, hope you get the point.
16cc56f
to
647fe84
Compare
The full/partial code path is now consolidated, and ready for another round of review :) Next week I'll likely add compaction key range to the manual compaction API so that I can start some testing in staging. |
e05af1e
to
d7392bb
Compare
Signed-off-by: Alex Chi Z <chi@neon.tech> partial address comments Signed-off-by: Alex Chi Z <chi@neon.tech>
… path (#9611) Signed-off-by: Alex Chi Z <chi@neon.tech>
d7392bb
to
eaa253c
Compare
eaa253c
to
6641f10
Compare
Problem
The final patch for partial compaction, part of #9114, close #8921 (note that we didn't implement parallel compaction or compaction scheduler for partial compaction -- currently this needs to be scheduled by using a Python script to split the keyspace, and in the future, automatically split based on the key partitioning when the pageserver wants to trigger a gc-compaction)
Summary of changes
Checklist before requesting a review
Checklist before merging