Subject: bug#30290: closed (Re: bug#30290: guix-daemon slows to a crawl when a substitute server is offline)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 10 Oct 2022 03:04:02 +0000

Your bug report

#30290: guix-daemon slows to a crawl when a substitute server is offline

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
30290: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30290
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#30290: guix-daemon slows to a crawl when a substitute server is offline
From: Maxim Cournoyer <[email-masked]>
To: zimoun <[email-masked]>
Cc: Mathieu Othacehe <[email-masked]>, [email-masked], [email-masked]
Date: Sun, 09 Oct 2022 23:03:16 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Simon,

zimoun <[email-masked]> writes:

> Hi Maxim,
>
> On Wed, 23 Mar 2022 at 11:50, zimoun <[email-masked]> wrote:
>> On Wed, 18 Aug 2021 at 22:25, Maxim Cournoyer <[email-masked]> wrote:
>
>>> Extra note: the problems reported earlier (hang or backtrace instead of
>>> graceful fallback to other substitute servers) also affect the scenario
>>> where substitutes are fetched from uDNS discovered substitute servers (I
>>> just tried).
>>
>> I guess this old bug [1] about the daemon hanging is still there, right?
>>
>> How such issue could be tackled?
>>
>> 1: <http://issues.guix.gnu.org/issue/30290>
>
> What could be actionable for tackling this old bug?

I can't seem to reproduce the original issue, which was that an offline
server would slow down fetching of substitutes by repeatedly trying to
reach it, at least when setting e.g.:

--8<---------------cut here---------------start------------->8---
127.0.0.2 ci.guix.gnu.org
--8<---------------cut here---------------end--------------->8---

In my /etc/hosts file to simulate it's unreachable, with at least
another substitute server available in my --substitute-urls list.  It
goes right to that second server without loosing any time.

Closing for now, we can always reopen the issue if it manifests itself
in the future.

-- 
Thanks,
Maxim

Subject: guix-daemon slows to a crawl when a substitute server is offline
From: Maxim Cournoyer <[email-masked]>
To: bug-guix <[email-masked]>
Date: Mon, 29 Jan 2018 22:07:49 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

When a substitute server used by guix-daemon is offline, the daemon will
keep attempting to connect to it, even when it shouldn't need any data
(ran 'sudo guix system reconfigure my-config.scm' multiple times in a
row.

With the disconnected server (bayfront in my case), that command would
take close to 8 minutes, with many system calls like:

--8<---------------cut here---------------start------------->8---
connect(14, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("141.255.128.56")}, 16) = -1 EINPROGRESS
--8<---------------cut here---------------end--------------->8---

which wasted 5 seconds each time.

After removing this server from my substitute servers list, the same
operation (system reconfigure) is 8 times faster (1 minute).

Suggestion: the daemon should stop trying to use the offline substitute
server after trying for X times, and print a warning about it.

Maxim