-
Notifications
You must be signed in to change notification settings - Fork 457
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: allow detaching from ancestor for timelines without writes #7639
Conversation
3060 tests run: 2927 passed, 0 failed, 133 skipped (full report)Code coverage* (full report)
* collected from Rust tests only The comment gets automatically updated with the latest test results
f2853dc at 2024-05-10T18:13:33.945Z :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.
Please create a PR against the RFC PR with a section on Lineage. Or, work with John to add it.
This one needs updating:
neon/pageserver/src/tenant/timeline.rs
Line 4354 in 5caaf2b
/// - has prev_lsn in remote storage (temporary restriction) |
Didn't have time to review the test and won't have because I'm off tomorrow and Friday.
it doesn't make sense within remote timeline client, but let's not change it here.
I've already added it, it's for WAL DR (I've pushed comments around the "why"). |
having a vec of timeline ids does not help, it must be a Vec of branch points.
Where? |
Ok. I think it would be useful to somehow link the Rust struct and that section of the RFC. |
Adding that to the TODO. |
The first implementation #7456 did not include `index_part.json` changes in an attempt to keep amount of changes down. Tracks the historic reparentings and earlier detach in `index_part.json`. - `index_part.json` receives a new field `lineage: Lineage` - `Lineage` is queried through RemoteTimelineClient during basebackup, creating `PREV LSN: none` for the invalid prev record lsn just as it would had been created for a newly created timeline - as `struct IndexPart` grew, it is now boxed in places Cc: #6994
The first implementation #7456 did not include
index_part.json
changes in an attempt to keep amount of changes down. Tracks the historic reparentings and earlier detach inindex_part.json
.index_part.json
receives a new fieldlineage: Lineage
Lineage
is queried through RemoteTimelineClient during basebackup, creatingPREV LSN: none
for the invalid prev record lsn just as it would had been created for a newly created timelinestruct IndexPart
grew, it is now boxed in placesCc: #6994