Issue #1646
closedIt is theoretically possible for a v2 sync to enter an infinite recursion loop
Description
While looking through the code, it occurred to me that this line could theoretically cause the function it is part of to be called synchronously:
If something were to go wrong in acquiring an auth token or with Docker's ability to inspect auth tokens, and we submitted a new request on this line and it failed the same way, download_failed() would get called again inside itself. This could happen a large number of times, leading to the famous MaxRecursionDepthExceeded exception.
As this is theoretical (but not impossible - all it would take is for Docker to have a failure in checking their auth tokens), I'll leave it to the triage team to decide on target release.
Related issues
Updated by bmbouter about 7 years ago
- Related to Issue #1644: Users cannot download Blobs in parallel added
Updated by bmbouter about 7 years ago
- Target Release - Docker set to 2.0.1
- Triaged changed from No to Yes
Updated by amacdona@redhat.com almost 7 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to amacdona@redhat.com
Updated by amacdona@redhat.com almost 7 years ago
- Status changed from ASSIGNED to POST
Updated by semyers almost 7 years ago
- Platform Release changed from 2.8.2 to 2.8.3
Updated by amacdona@redhat.com almost 7 years ago
reopened against 2.0-dev https://github.com/pulp/pulp_docker/pull/146
Updated by semyers almost 7 years ago
- Platform Release changed from 2.8.3 to 2.8.4
Updated by semyers almost 7 years ago
- Target Release - Docker changed from 2.0.1 to 2.0.2
Added by Austin Macdonald almost 7 years ago
Added by Austin Macdonald almost 7 years ago
Download docker blobs in parallel
Allow Nectar to download with multiple threads at the same time, and allow each thread to update the session's bearer token. It also addresses the possibility of infinite recursion if a download remains unauthorized after retrieving a new token.
Added by Austin Macdonald almost 7 years ago
Download docker blobs in parallel
Allow Nectar to download with multiple threads at the same time, and allow each thread to update the session's bearer token. It also addresses the possibility of infinite recursion if a download remains unauthorized after retrieving a new token.
Added by Austin Macdonald almost 7 years ago
Download docker blobs in parallel
Allow Nectar to download with multiple threads at the same time, and allow each thread to update the session's bearer token. It also addresses the possibility of infinite recursion if a download remains unauthorized after retrieving a new token.
Updated by Anonymous almost 7 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset da9c008e1d6ea964d03f758a846ae70e80587c62.
Updated by semyers almost 7 years ago
- Platform Release changed from 2.8.4 to 2.8.5
Updated by semyers over 6 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Download docker blobs in parallel
closes #1644 closes #1646
Allow Nectar to download with multiple threads at the same time, and allow each thread to update the session's bearer token. It also addresses the possibility of infinite recursion if a download remains unauthorized after retrieving a new token.