[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#43079: guix ignores available substitutes
From: |
Ludovic Courtès |
Subject: |
bug#43079: guix ignores available substitutes |
Date: |
Fri, 28 Aug 2020 16:23:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hallo!
Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
> Tobias provided me some nginx logs from ci.guix.gnu.org so here is some
> further analysis:
>
> guix@laptop $ guix build --dry-run inkscape
> Folgende Ableitungen würden erstellt:
> /gnu/store/i1sh5hzlzxzgzbdl3jb8wgnn9hr912wn-inkscape-1.0.drv
> /gnu/store/1mzsr5z2qnrlr57gdv5mv7bhm1yg88z2-gtkspell3-3.0.10.drv
> /gnu/store/07sff3s4ckc81j2lxip0pcyikfqbqs6v-gtkspell3-3.0.10.tar.xz.drv
>
> Where the inkscape drv derives to
> /gnu/store/wp4v7qsyjngxggncz34gaidb3yqcqy3l-inkscape-1.0
>
> https.access.log:XXX.XXX.XXX.XXX - - [28/Aug/2020:00:48:08 +0200] "GET
> /wp4v7qsyjngxggncz34gaidb3yqcqy3l.narinfo HTTP/1.1" 200 3336 "-" "GNU Guile"
>
> It's also in the cache:
> -rw------- 1 root root 3451 28. Aug 01:18
> /var/guix/substitute/cache/4refhwxbjmeua2kwg2nmzhv4dg4d3dorpjefq7kiciw2pfhaf26a/wp4v7qsyjngxggncz34gaidb3yqcqy3l
>
> (narinfo (version 2) (cache-uri "https://ci.guix.gnu.org") (date
> 1598570321) (ttl 7776000) (value "StorePath:
> /gnu/store/wp4v7qsyjngxggncz34gaidb3yqcqy3l-inkscape-1.0\nURL:
> nar/gzip/wp4v7qsyjngxggncz34gaidb3yqcqy3l-inkscape-1.0\nCompression:
> gzip\nFileSize: 40257671\nURL:
> nar/lzip/wp4v7qsyjngxggncz34gaidb3yqcqy3l-inkscape-1.0\nCompression:
> lzip\nFileSize: 16181383\nNarHash:
> sha256:1i44f21lnxmajdir2jqvg9d28518fipbv3jq4cpf6wmmk1xgqr8m\nNarSize:
> 164233984\nReferences: 01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib
> 07m4rm6cwdj2m5mzh6n19wldn1if3h0q-glibmm-2.62.0
> [...]
> zrmhnj3pwchn2msphgnwzwd3q89m46rn-aspell-0.60.8\nSystem:
> x86_64-linux\nDeriver:
> s8f2r8md9sjmmgnac1k5y881d6a84c90-inkscape-1.0.drv\nSignature:
> 1;berlin.guix.gnu.org;LONG_KEY\n"))
>
> I have no idea what is wrong here...
I’m not sure what conclusions you’re drawing here? :-)
As you found, each entry in /var/guix/substitute/cache has a TTL,
including for negative lookups. This is why one can observe different
behaviors on different machines: one machine can think the substitute is
unavailable (cached negative entry not yet expired), while the other got
a positive lookup soon after the substitute had been “baked” on the
server.
TTLs vary. For successful lookups, this is usually a long TTL (see
‘guix publish --ttl’). For negative lookups, there are two cases: a
1h-or-so TTL for “absolute no”, and a 5mn TTL for
“substitute-being-baked no”.
On top of that, nginx on ci.guix.gnu.org might perform extra caching,
though we’d need to check the config.
HTH!
Ludo’.