GNU bug report logs -
#75782
[PATCH cuirass] remote-server: Disable url-fetch* fallback when triggering substitutes.
Previous Next
Reported by: vicvbcun <guix <at> ikherbers.com>
Date: Thu, 23 Jan 2025 11:38:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 14 Feb 2025 17:44:45 +0100
with message-id <87jz9sxypu.fsf_-_ <at> gnu.org>
and subject line Re: bug#75782: [PATCH cuirass] remote-server: Disable url-fetch* fallback when triggering substitutes.
has caused the debbugs.gnu.org bug report #75782,
regarding [PATCH cuirass] remote-server: Disable url-fetch* fallback when triggering substitutes.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
75782: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75782
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
If an output is larger than the configured cache bypass threshold and the
substitute hasn't already been baked, guix publish returns a 404 response and
schedules baking. This error code causes `url-fetch*' to instead try fetching
the narinfo from the Internet Archive. Suppress this fallback behaviour as
the sole purpose is triggering the baking of substitutes.
* src/cuirass/scripts/remote-server.scm (trigger-substitutes-baking): Bind
`%download-methods' to the empty list befor calling `url-fetch*'.
---
Hello Guix!
I've stumbled upon this as somehow (presumably due to the way my server is
connected to the IPv4 internet) the remote server would block indefinitely
reading a reply from web.archive.org, needing to be restarted. This patch
fixes (or at least hides) this behaviour. Anyway, since there is no point
to the fallback in the first place, I think this merits a patch regardless
of that.
src/cuirass/scripts/remote-server.scm | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/cuirass/scripts/remote-server.scm b/src/cuirass/scripts/remote-server.scm
index caeb8ed..fb99551 100644
--- a/src/cuirass/scripts/remote-server.scm
+++ b/src/cuirass/scripts/remote-server.scm
@@ -45,7 +45,8 @@
#:use-module ((guix build utils) #:select (mkdir-p
strip-store-file-name
call-with-temporary-output-file))
- #:autoload (guix build download) (url-fetch)
+ #:autoload (guix build download) (%download-methods
+ url-fetch)
#:autoload (gcrypt pk-crypto) (read-file-sexp)
#:use-module (simple-zmq)
#:use-module (srfi srfi-1)
@@ -255,7 +256,13 @@ Start a remote build server.\n") (%program-name))
(log-debug "Bake: ~a" narinfo-url)
(call-with-temporary-output-file
(lambda (tmp-file port)
- (url-fetch* narinfo-url tmp-file)))))
+ (parameterize
+ ;; XXX: guix publish returns a 404 response when the output is
+ ;; large and has not already been baked. By default, this causes
+ ;; `url-fetch*' to fall back to the Internet Archive. Disable
+ ;; this.
+ ((%download-methods '()))
+ (url-fetch* narinfo-url tmp-file))))))
(define (add-to-store drv outputs url)
"Add the OUTPUTS that are available from the substitute server at URL to the
base-commit: 6b499a74999fc05e19e349e2c8ca8e7f417147f5
--
2.47.1
[Message part 3 (message/rfc822, inline)]
vicvbcun <guix <at> ikherbers.com> skribis:
> If an output is larger than the configured cache bypass threshold and the
> substitute hasn't already been baked, guix publish returns a 404 response and
> schedules baking. This error code causes `url-fetch*' to instead try fetching
> the narinfo from the Internet Archive. Suppress this fallback behaviour as
> the sole purpose is triggering the baking of substitutes.
>
> * src/cuirass/scripts/remote-server.scm (trigger-substitutes-baking): Disable
> all download methods except "upstream" before calling `url-fetch*'.
Pushed, thanks!
Ludo'.
This bug report was last modified 99 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.