-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FTL times out when building on Cloud Builder #605
Comments
Can you describe the environment/builder-image you are using? In attempting the same requirements.txt I am seeing:
all deps are verified in the image. I used python2.7 for this test, retrying w/ python3 |
running with w/python3.6
|
@myelin thanks for reporting this, the build times definitely rose per package when we updated to uploading each packages for phase 1.5 python. #607 should fix this by uploading the layers in parallel. I am now seeing times: Timing: import pieces: I've made an issue with here how we might be able to drop the pip_download_wheels time: |
Another data point: Looks like if I did a a pip install with all the packages in our Dockerfile and ran that through Argo, the net installation took 4 mins 27 seconds. |
can the download wheels be done in parallel? |
this is the overarching problem of: you can't download the wheels in parallel because each package pip fetches allows pip to find out the packages dependencies. this would be possible if the fully qualified list of deps was known from the beginning but it isn't currently. Something like downloading the known wheels (the specified ones) in parallel might be worth investigating though. |
it seems that it isn't possible as for common shared libs, a parallel download would introduce a race possible race condition on the package used: |
it might actually be alright: I'm going to to a POC and investigate further |
Another data point - removing the google client libraries changes the time from about 4 mins to 1 minute. |
with POC: Test requirements.txt Timing: important pieces: the timing is the same w/ or w/o the parallel so I believe that pip wheel already does the possible parallel optimization |
@rahulrv1980 yes, it seems that downloading the wheels for the google client libraries alone takes ~1 minute |
The following requirements.txt took three tries to build within the default Cloud Builder 10 minute timeout (getting a little further each time).
gunicorn
uwsgi
django
flask
google-cloud
requests
cryptography
pillow
Running this locally, it takes 17 seconds with a hot pip cache, or 61 seconds after clearing the cache with rm -rf ~/.cache/pip
Test command: time bash -c 'rm -rf env; python3 -m virtualenv -p python3 env; source env/bin/activate; pip install -r requirements.txt'
The text was updated successfully, but these errors were encountered: