Skip to content

resolver: acquire registry capacity before opening writers - #7145

Merged
tonistiigi merged 1 commit into
moby:masterfrom
crazy-max:fix-registry-limit-before-writer
Sep 24, 2026
Merged

tonistiigi merged 1 commit into
moby:masterfrom
crazy-max:fix-registry-limit-before-writer

Conversation

@crazy-max

Copy link
Copy Markdown
Member

fixes docker/buildx#4057

Cache exports currently open upload writers before acquiring the shared registry semaphore. This can leave PUT requests idle while other transfers occupy the available slots, allowing registry proxies to time out those requests and fail the build. Acquire capacity before opening the writer and hold it until the handler finishes.

Acquire the shared registry semaphore before opening the destination writer so cache
uploads cannot start a PUT while waiting for transfer capacity. Reuse the handler
wrapper for pushes and fetches, retaining the existing nested-acquisition behavior.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
@tonistiigi
tonistiigi merged commit 878c3a5 into moby:master Sep 24, 2026
315 of 326 checks passed
@crazy-max
crazy-max deleted the fix-registry-limit-before-writer branch September 24, 2026 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cache export fails with a fatal 400 when parallel blob PUTs stall past a registry/proxy inactivity timeout on slow uplinks

2 participants