Skip to content

Keep server object reads working as Git packs accumulate - #258

Merged
nishu-builder merged 1 commit into
mainfrom
codex/git-pack-capacity-20260918-911f8bae
Sep 18, 2026
Merged

nishu-builder merged 1 commit into
mainfrom
codex/git-pack-capacity-20260918-911f8bae

Conversation

@nishu-builder

@nishu-builder nishu-builder commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

CAOS keeps incoming uploads as Git packfiles. The server reads them through gix, which fixes its pack capacity when it opens the store, starting at 32 for a small repository. With automatic repacking disabled, enough uploads can exhaust those slots even though the objects are still on disk.

This PR reserves 32,767 slots, the maximum gix supports. The server warns near the limit and refuses to start when it is reached. We’ll still need to consolidate old packfiles before reaching that limit.

Commit validation has a related problem: its temporary repository uses the server’s object store as a Git alternate. Writing the candidate commit after attaching that alternate can make gix try to load all the server’s packs into another small slot table. Write the candidate first, then attach the alternate for Git to validate it.

@nishu-builder
nishu-builder added this pull request to stack #257 September 18, 2026 10:52
@nishu-builder
nishu-builder removed this pull request from stack #257 September 18, 2026 10:53
@nishu-builder
nishu-builder added this pull request to stack #261 September 18, 2026 10:53
Base automatically changed from codex/publish-git-compat-20260917-911f8bae to main September 18, 2026 19:52
@nishu-builder
nishu-builder force-pushed the codex/git-pack-capacity-20260918-911f8bae branch from 0813f19 to b20b5b7 Compare September 18, 2026 19:52
@nishu-builder
nishu-builder merged commit 5ce85d9 into main Sep 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant