Subject: bug#45302: Avahi substitute discovery keeps trying to ping unaccessible servers

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 21 Dec 2020 22:25:03 -0500

Hello,

Pierre Neidhardt <[email-masked]> writes:

> I've set up my desktop and laptop to use the new substitute discovery
> feature, it's awesome!
>
> However, when I put my desktop to sleep and run a Guix command on my
> laptop that requires access to a sbustitute server, I see this:
>
> $ guix build ncdu
> substitute: guix substitute: warning: 10.0.0.5: connection failed: No route to host
> substitute: updating substitutes from 'http://ci.guix.gnu.org'... 100.0%
> 0.0 MB will be downloaded:
>    /gnu/store/p70r4maqgh6ghl25h5a99w7sf1jidap8-ncdu-1.15.1
> substituting /gnu/store/p70r4maqgh6ghl25h5a99w7sf1jidap8-ncdu-1.15.1...
>
>
> The warning
>
> substitute: guix substitute: warning: 10.0.0.5: connection failed: No route to host
>
>
> pops up on every download, which adds some 2s delay each time.  This
> makes the whole process much slower.
>
> For your information, Avahi does not find my desktop:
>
> $ sudo avahi-browse -al
> Password: 
> + wlp2s0 IPv6 FOO___s MacBook Pro                        _companion-link._tcp local
> + wlp2s0 IPv4 FOO___s MacBook Pro                        _companion-link._tcp local
>   C-c C-cGot SIGINT, quitting.

This reminds me of https://issues.guix.gnu.org/30290.  Perhaps if we can
fix that one it'd make this one go away too?.  I was thinking of having
a simple mean to reduce the request attempts on servers down for a long
while, such as entering dead periods (breaks): "I've tried X times, it
doesn't respond, I give up for the next Y minutes"; allowing for X and Y
to be configured via the <guix-publish-configuration> record.

Do you think this would help?

Maxim