!RROtHmAaQIkiJzJZZE:nixos.org

NixOS Infrastructure

384 Members
Next Infra call: 2024-07-11, 18:00 CEST (UTC+2) | Infra operational issues backlog: https://github.com/orgs/NixOS/projects/52 | See #infra-alerts:nixos.org for real time alerts from Prometheus.118 Servers

Load older messages


SenderMessageTime
1 Jun 2025
@edef1c:matrix.orgedefas long as narinfo 404 is fast13:52:16
@brian:bmcgee.ieBMG joined the room.15:29:29
@arianvp:matrix.orgArian
In reply to @flokli:matrix.org
We can also do the push through thing. So instead of hydra uploading to fastly or s3 directly, it'd send to a http daemon that uploads to both places

I'm suggesting something way simpler.

We just have nix-serve running on hydra and serve its nix store.

We configure fastly to first fetch Hydra and on 404 fetch s3

17:41:24
@arianvp:matrix.orgArianRequires no big changes on hydra side 17:41:36
@edef1c:matrix.orgedefthe narinfo 404 path is sacred, we cause a lot of user suffering if it isn't fast17:42:18
@arianvp:matrix.orgArianBut it might be too simplistic. 17:42:18
@edef1c:matrix.orgedefwhether this was a good design choice in the substitution mechanism is another matter17:42:40
@edef1c:matrix.orgedefbut this is the army we fight with, for now17:42:55
@arianvp:matrix.orgArianBut it will just be slow for a single person. Afterwards it's cached 17:43:02
@edef1c:matrix.orgedefno17:43:08
@arianvp:matrix.orgArian:D17:43:09
@edef1c:matrix.orgedef 404s aren't cacheable, since presence isn't immutable 17:43:23
@arianvp:matrix.orgArianAaaaaah 17:43:33
@edef1c:matrix.orgedefand 404s tend to be unique requests17:43:35
@arianvp:matrix.orgArianYes. I see what you're getting at now17:43:45
@edef1c:matrix.orgedef every nix build is bottlenecked on cno 404s 17:43:48
@edef1c:matrix.orgedef * every nix build is bottlenecked on c.n.o 404s 17:43:52
@arianvp:matrix.orgArianWe don't cache them at all? Because we DO cache 404s locally 17:44:52
@arianvp:matrix.orgArian(found that out the hard way)17:44:57
@edef1c:matrix.orgedefwe cache them at most briefly, but this isn't the point17:45:30
@edef1c:matrix.orgedefevery derivation you build that isn't cached doesn't start building until it has been confirmed it 404s17:45:47
@edef1c:matrix.orgedefapproximately 100% of all nix derivations aren't in the cache17:46:02
@edef1c:matrix.orgedefthe caching is in the wrong direction17:46:29
@edef1c:matrix.orgedefcaching absences buys you essentially nothing17:46:42
@edef1c:matrix.orgedefthere are 1461501637330902918203684832716283019655932542976 (2^160) store paths, most of which are absent from the cache17:47:04
@edef1c:matrix.orgedefwe only have 2^28 or so present store paths17:47:31
@edef1c:matrix.orgedefyour 404 cache cannot fit 2^160 items17:47:41
@arianvp:matrix.orgArianBloom Filter?17:48:01
@arianvp:matrix.orgArianAnyhow I digress. My idea definitely seems too simplistic17:48:12
@edef1c:matrix.orgedefyes, a bloom filter works17:48:18

Show newer messages


Back to Room ListRoom Version: 6