Skip to content

fetch-pack: derive tunable worker defaults for URI packs - #75

Open
uoleg-oai wants to merge 1 commit into
codexfrom
ou/codex/packfile-uri-workers
Open

fetch-pack: derive tunable worker defaults for URI packs#75
uoleg-oai wants to merge 1 commit into
codexfrom
ou/codex/packfile-uri-workers

Conversation

@uoleg-oai

Copy link
Copy Markdown

Packfile URI fetches default to one job, and parallel URI indexers force
one thread even when pack.threads is configured. Use online CPUs to
choose defaults while retaining the existing configuration controls.

Default fetch.packfileUriJobs to the online CPU count capped at eight.
Divide CPUs among the actual parallel jobs for each indexer, with a
one-thread minimum and four-thread automatic maximum. Explicit positive
pack.threads overrides that budget; explicit URI job values remain
uncapped and values at or below one retain serial processing.

Preserve no-ref-delta negotiation and verification, serial fallback,
pack ownership and cancellation. Document that increasing both controls
can increase CPU and memory use.

Verification: the new default-concurrency regression fails on the old
implementation and passes with the change. The developer build and all
102 t5702 protocol tests pass, including real HTTP coverage, explicit
thread values, job overrides and no-ref-delta validation. All 70
applicable t5300 index-pack tests pass; two !PTHREADS cases do not apply
to this threaded build. Chainlint, greplint and documentation style
checks pass. Independent review found no introduced P0/P1/P2 defects.

-- [ uoleg-codex (source thread) ]

Packfile URI fetches default to one job, and parallel URI indexers force
one thread even when pack.threads is configured. Use online CPUs to
choose defaults while retaining the existing configuration controls.

Default fetch.packfileUriJobs to the online CPU count capped at eight.
Divide CPUs among the actual parallel jobs for each indexer, with a
one-thread minimum and four-thread automatic maximum. Explicit positive
pack.threads overrides that budget; explicit URI job values remain
uncapped and values at or below one retain serial processing.

Preserve no-ref-delta negotiation and verification, serial fallback,
pack ownership and cancellation. Document that increasing both controls
can increase CPU and memory use.

Verification: the new default-concurrency regression fails on the old
implementation and passes with the change. The developer build and all
102 t5702 protocol tests pass, including real HTTP coverage, explicit
thread values, job overrides and no-ref-delta validation. All 70
applicable t5300 index-pack tests pass; two !PTHREADS cases do not apply
to this threaded build. Chainlint, greplint and documentation style
checks pass. Independent review found no introduced P0/P1/P2 defects.
@uoleg-oai

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-26T19:51:54.466064Z b99b73a Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: b99b73a5e9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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