buildpacks-python icon indicating copy to clipboard operation
buildpacks-python copied to clipboard

Use retries/timeouts to improve reliabilty of downloads from S3

Open edmorley opened this issue 2 years ago • 1 comments

Currently the Python CNB makes a single download attempt for the Python runtime archive on S3.

We should add retries/timeouts to improve reliability in case there are network/S3 issues, similar to what the classic buildpack does.

Internal tracking epic

edmorley avatar Jul 20 '23 14:07 edmorley

Example failure:

[Installing Python]
Installing Python 3.12.7

[Error: Unable to download Python]
An error occurred whilst downloading the Python runtime archive.

In some cases, this happens due to an unstable network connection.
Please try again and to see if the error resolves itself.

Details: https://heroku-buildpack-python.s3.us-east-1.amazonaws.com/python-3.12.7-ubuntu-24.04-arm64.tar.zst: Dns Failed: resolve dns name 'heroku-buildpack-python.s3.us-east-1.amazonaws.com:443': failed to lookup address information: Try again

ERROR: failed to build: exit status 1

(From: https://github.com/heroku/cnb-builder-images/actions/runs/11281440483/job/31376753868#step:6:21)

edmorley avatar Oct 10 '24 20:10 edmorley