Project

Profile

Help

Issue #1646

closed

It is theoretically possible for a v2 sync to enter an infinite recursion loop

Added by rbarlow about 8 years ago. Updated about 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version - Docker:
Platform Release:
2.8.5
Target Release - Docker:
2.0.2
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Sprint 2
Quarter:

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:

https://github.com/pulp/pulp_docker/blob/da01945c8ee40ffaf680c4064bdd3872bf72dd50/plugins/pulp_docker/plugins/importers/sync.py#L354

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

Related to Docker Support - Issue #1644: Users cannot download Blobs in parallelCLOSED - CURRENTRELEASEamacdona@redhat.comActions
Actions #1

Updated by bmbouter about 8 years ago

  • Related to Issue #1644: Users cannot download Blobs in parallel added
Actions #2

Updated by bmbouter about 8 years ago

  • Target Release - Docker set to 2.0.1
  • Triaged changed from No to Yes
Actions #3

Updated by mhrivnak about 8 years ago

  • Platform Release set to 2.8.2
Actions #4

Updated by mhrivnak about 8 years ago

  • Sprint/Milestone set to 19
Actions #5

Updated by amacdona@redhat.com about 8 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to amacdona@redhat.com
Actions #6

Updated by amacdona@redhat.com about 8 years ago

  • Status changed from ASSIGNED to POST
Actions #7

Updated by semyers about 8 years ago

  • Platform Release changed from 2.8.2 to 2.8.3
Actions #9

Updated by semyers about 8 years ago

  • Platform Release changed from 2.8.3 to 2.8.4
Actions #10

Updated by semyers almost 8 years ago

  • Target Release - Docker changed from 2.0.1 to 2.0.2

Added by Austin Macdonald almost 8 years ago

Revision da9c008e | View on GitHub

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.

Added by Austin Macdonald almost 8 years ago

Revision da9c008e | View on GitHub

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.

Added by Austin Macdonald almost 8 years ago

Revision da9c008e | View on GitHub

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.

Added by Austin Macdonald almost 8 years ago

Revision da9c008e | View on GitHub

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.

Actions #11

Updated by mhrivnak almost 8 years ago

  • Sprint/Milestone changed from 19 to 20
Actions #12

Updated by Anonymous almost 8 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #13

Updated by semyers almost 8 years ago

  • Status changed from MODIFIED to 5
Actions #14

Updated by semyers almost 8 years ago

  • Platform Release changed from 2.8.4 to 2.8.5
Actions #15

Updated by semyers almost 8 years ago

  • Status changed from 5 to MODIFIED
Actions #16

Updated by semyers almost 8 years ago

  • Status changed from MODIFIED to 5
Actions #17

Updated by semyers almost 8 years ago

  • Status changed from 5 to CLOSED - CURRENTRELEASE
Actions #18

Updated by bmbouter about 6 years ago

  • Sprint set to Sprint 2
Actions #19

Updated by bmbouter about 6 years ago

  • Sprint/Milestone deleted (20)
Actions #20

Updated by bmbouter about 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF