diff options
author | Harmen Stoppels <harmenstoppels@gmail.com> | 2022-12-13 17:07:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-13 17:07:11 +0100 |
commit | 333da47dc7d7ad098c0e91bd02452129777d7f46 (patch) | |
tree | 09c58cf7edc546d59cf75611bfdf071cc2a1f5d9 /var | |
parent | 8b68b4ae725007a72b1877356b05e957be2397fb (diff) | |
download | spack-333da47dc7d7ad098c0e91bd02452129777d7f46.tar.gz spack-333da47dc7d7ad098c0e91bd02452129777d7f46.tar.bz2 spack-333da47dc7d7ad098c0e91bd02452129777d7f46.tar.xz spack-333da47dc7d7ad098c0e91bd02452129777d7f46.zip |
Don't fetch to order mirrors (#34359)
When installing binary tarballs, Spack has to download from its
binary mirrors.
Sometimes Spack has cache available for these mirrors.
That cache helps to order mirrors to increase the likelihood of
getting a direct hit.
However, currently, when Spack can't find a spec in any local cache
of mirrors, it's very dumb:
- A while ago it used to query each mirror to see if it had a spec,
and use that information to order the mirror again, only to go
about and do exactly a part of what it just did: fetch the spec
from that mirror confused
- Recently, it was changed to download a full index.json, which
can be multiple dozens of MBs of data and may take a minute to
process thanks to the blazing fast performance you get with
Python.
In a typical use case of concretizing with reuse, the full index.json
is already available, and it likely that the local cache gives a perfect
mirror ordering on install. (There's typically no need to update any
caches).
However, in the use case of Gitlab CI, the build jobs don't have cache,
and it would be smart to just do direct fetches instead of all the
redundant work of (1) and/or (2).
Also, direct fetches from mirrors will soon be fast enough to
prefer these direct fetches over the excruciating slowness of
index.json files.
Diffstat (limited to 'var')
0 files changed, 0 insertions, 0 deletions