Skip to content

Avoid duplicate concurrent wheel extraction - #930

Closed
zaniebot wants to merge 1 commit into
mainfrom
zb/dedupe-wheel-extraction
Closed

zaniebot wants to merge 1 commit into
mainfrom
zb/dedupe-wheel-extraction

Conversation

@zaniebot

@zaniebot zaniebot commented Aug 31, 2026 •

Copy link
Copy Markdown
Collaborator

Concurrent uv processes sharing a cache could each extract the same local wheel or a wheel built from a source distribution. Source builds were serialized, but their lock was released before extracting the result, and the extraction locks were enabled only on Windows.

Acquire the lock for the source-specific wheel cache entry on every platform before checking for an extracted wheel, and hold it through publication. For built wheels, this remains scoped to the source revision and build settings, allowing waiting processes to reuse the completed extraction. Keep the existing Windows lock names for shared-cache compatibility and use bounded wheel cache keys elsewhere.

@astral-automations-bot astral-automations-bot Bot added bug Something isn't working area:cache Caching of packages and metadata labels Aug 31, 2026
@zanieb
zanieb marked this pull request as ready for review September 1, 2026 14:43
@astral-automations-bot

Copy link
Copy Markdown

Promoted to #21400.

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

Labels

area:cache Caching of packages and metadata bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants