Skip to content

Pulling artifacts is very slow with high latency connections

Background

Today I built gnome-build-meta and was a bit astounded at how long it took to download the base bootstrap system image:

[01:48:20][41fd1dbc][ pull:bootstrap-junction.bst:bootstrap-platform-extract.bst] SUCCESS freedesktop-sdk-bootstrap/bootstrap-platform-extract/41fd1dbc-pull.12566.log

The big base image artifact is not the only one that is very slow, after two hours, I'm still downloading and have not started to build anything yet.

I'm betting that this can be reproduced with the following steps:

  • Be somewhere outside of Europe, like Korea or Canada or Brazil
  • Try to build something from gnome-build-meta

I suspect that we are making a lot of small requests when downloading, causing higher latency connections with more than sufficient bandwidth, to be very slow.

Task description

I think that we should be able to stream the objects over a single request when pulling the artifacts, after having determined which objects will be required for download.

Acceptance Criteria

The performance of downloading an artifact should be similar to the performance of downloading a single file of the same size from the same network.


To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information