Skip to content

timeline_ancestor_detach: hardlinking where possible #8828

Open

Description

For all of the small number of uses timeline ancestor detach (#6994) has seen, there is a need to download layers in the restart following completion of the prepare phase after reset_tenant. The on-demand downloads happen for logical size calculation or compaction.

We could simply hard link all Layer instances which happen to be present already. Layer::keep_resident can be used to test for the residency, and keeping the layer resident while hard-linking happens. There are already TODO comments, and the way we fsync might need to change as well.

This is a performance optimization, but it is easy to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    c/storage/pageserverComponent: storage: pageservert/featureIssue type: feature, for new features or requests

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions