Subject: bug#46877: Guix assumes ideal network exists, does not

From: zimoun <[email-masked]>
Date: Tue, 2 Mar 2021 21:00:57 +0100

Hi Tobias,

On Tue, 2 Mar 2021 at 17:33, Tobias Geerinckx-Rice via Bug reports for
GNU Guix <[email-masked]> wrote:

> We don't seem to have a plan forward (I include myself!).  Looking
> at other package managers, a blunt ‘retry a finite number of
> times’ seems common.  Guix's ‘pretend that "transient" is a magic
> powerword’ approach less so.

If I read correctly, the issue comes from (guix scripts substitutes)
in 'fetch-narinfos':

--8<---------------cut here---------------start------------->8---
                          (call-with-connection-error-handling
                           uri
                           (lambda ()
                             (http-multiple-get uri
                                                handle-narinfo-response '()
                                                requests
                                                #:open-connection
open-connection
                                                #:verify-certificate? #f))))))
--8<---------------cut here---------------end--------------->8---

where 'requests' can be really large (all the missing information from
local cache).

Instead of processing the list in one go, we could imagine split it
into several chunks, say X, and so process only X requests by X
requests.

WDYT?

Cheers,
simon