Skip to content

Feature request: Implement Pack Object cache with a hook #8

@sluongng

Description

@sluongng

When using goblet to serve a repository for a large concurrent CI setup, it might be desirable to make use of https://git-scm.com/docs/git-config#Documentation/git-config.txt-uploadpackpackObjectsHook to wrap around git-pack-objects and cache the output per unique request.

Multiple requests (from CI workers) asking for a same combination of objects would only trigger a single git-pack-objects which will simultaneously write to both process stdout and to an on-disk cache dir. Subsequent requests can be served from the cache dir instead of having to re-trigger git-pack-objects, which will save a lot of CPU time.

Prior art could be found in Gitlab's Gitaly https://gitlab.com/gitlab-org/gitaly/-/blob/master/doc/design_pack_objects_cache.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions