[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#48468: substitute server connection timeout
From: |
Mathieu Othacehe |
Subject: |
bug#48468: substitute server connection timeout |
Date: |
Tue, 29 Jun 2021 18:49:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hey,
> But maybe I’m not looking at the right thing.
>
> Do you have evidence or a reproducer?
Yes, adding the following debug message here:
--8<---------------cut here---------------start------------->8---
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -416,6 +416,7 @@ server certificates."
;; and retry. We might also get 'bad-response or a similar
;; exception from (web response) later on, once we've sent the
;; request, or a ERROR/INVALID-SESSION from GnuTLS.
+ (pk key args)
(if (or (and (eq? key 'system-error)
(= EPIPE (system-error-errno `(,key ,@args))))
(and (eq? key 'gnutls-error)
--8<---------------cut here---------------end--------------->8---
and using substitutes from a publish server without keep alive support
(before 0b8fa24), prints something like:
--8<---------------cut here---------------start------------->8---
downloading from
http://192.168.1.51:8080/nar/gzip/lkmiyfzi1bq571yn4gypbcs5vn4fpma7-texlive-cm-51265
...
texlive-cm-51265
7.8MiB/s 00:00 | 1.7MiB transferred
substituting
/gnu/store/l788x07ska5vffayz0gayv4hsx5flxal-module-import-compiled...
;;; (bad-header (read-header-line #<eof>))
downloading from
http://192.168.1.51:8080/nar/gzip/l788x07ska5vffayz0gayv4hsx5flxal-module-import-compiled
...
module-import-compiled
7.5MiB/s 00:00 | 85KiB transferred
substituting /gnu/store/1s1lrnxlkjwxshk5q2w97ig3clc6n06f-ruby-2.6.5...
;;; (bad-header (read-header-line #<eof>))
--8<---------------cut here---------------end--------------->8---
That's because the connection is closed by the publish server each time
a NAR is sent. This particular behaviour is fixed by:
https://issues.guix.gnu.org/48556.
I hoped that it would decrease the load of the Cuirass publish server
that was flooded by worker connections. While the situation is better,
there are still a lot of substitute timeout errors on Cuirass.
I have also observed those timeouts using the publish server behind
ci.guix.gnu.org. This makes me think that there's something else that is
preventing the server from honoring every connection request in less
than 5 seconds (the timeout duration).
Thanks,
Mathieu