Hallo! Jonathan Brielmaier <[email protected]> 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’.
