You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add retry handling in download_all_files in cli.py #3627
Partly. IMAP-Science-Operations-Center/imap-data-access#373, the fix for the issue Tim linked, makes download retry 429 and 5xx responses, and connections that fail or drop before a response, up to 5 times with backoff (0, 2, 4, 8, then 16 s, plus jitter). pre_processing downloads each dependency through download, so once that's released, a brief 503 won't fail the job.
What it doesn't cover:
An error that outlasts those retries (about 30 s of backoff).
A connection that drops partway through a download. urllib3 doesn't retry that at all.
In both cases download raises IMAPDataAccessError and the job exits 1, which our Batch retry strategy doesn't retry. So I think this is still worth doing, narrowed to catching that error in pre_processing and exiting with RETRY_EXIT_CODE the way upload_products does, for transient errors only (not, say, a 404).
Activity
tmplummer commentedon Nov 5, 2026
This may be duplicating what @sapols implemented for this issue: IMAP-Science-Operations-Center/imap-data-access#372
sapols commentedon Nov 6, 2026
Partly. IMAP-Science-Operations-Center/imap-data-access#373, the fix for the issue Tim linked, makes
downloadretry 429 and 5xx responses, and connections that fail or drop before a response, up to 5 times with backoff (0, 2, 4, 8, then 16 s, plus jitter).pre_processingdownloads each dependency throughdownload, so once that's released, a brief 503 won't fail the job.What it doesn't cover:
In both cases
downloadraisesIMAPDataAccessErrorand the job exits 1, which our Batch retry strategy doesn't retry. So I think this is still worth doing, narrowed to catching that error inpre_processingand exiting withRETRY_EXIT_CODEthe wayupload_productsdoes, for transient errors only (not, say, a 404).