Hey! Tobias Geerinckx-Rice <m...@tobias.gr> skribis:
> On 26/03/17 19:35, Tobias Geerinckx-Rice wrote: >> I can try to do some simple tests tomorrow. > > Two observations: > > - ‘proxy_cache_lock_timeout’ alone won't suffice to serialise requests; > ‘proxy_cache_lock_age’ must also be set to an equally ridiculously > long span. Otherwise, multiple requests will still be sent to ‘guix > publish’ if they are more than 5s apart. Bleh. > > (The problem then becomes that clients will stall while the file is > being cached, as explained by Mark. curl patiently waited.) Setting ‘proxy_cache_lock_timeout’ to 5s is reasonable I think: if you’re unlucky, you wait for 5 seconds, and then we get ‘guix publish’ threads serving the same request in parallel; in the most common case, there’s only ever one instance of a given request being served at a given time. > - Say client A requests a nar from ‘guix publish’ (no nginx involved). > If another client requests the same nar while A's still downloading, > ‘guix publish’ will... silently drop A's connection? > I was not expecting this. That would be a bug. Do you have an easy way to reproduce? Thanks, Ludo’.