guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#45018] [PATCH v2 0/6] Process and connection reuse for substitution


From: Ludovic Courtès
Subject: [bug#45018] [PATCH v2 0/6] Process and connection reuse for substitutions
Date: Sun, 6 Dec 2020 23:04:09 +0100

Hello!

This update fixes issues that Chris uncovered during testing and
addresses comments Mathieu made.  Changes since v1:

  1. The daemon, in ‘SubstitutionGoal::handleChildOutput’, properly
     deal with the case where ‘data’ contains several lines, such as a
     “sha256:…” line and a “success” line.

  2. ‘call-with-cached-connection’ catches exceptions that may be
     raised by (web response) when reusing a stale socket.

  3. The connection cache is now an alist instead of a hash table and
     care is taken to evict old entries once it has reached
     ‘%max-cached-connections’.

  4. Fixed typo in comment in (guix scripts substitute).

I’ll go ahead with this version soonish if there are no objections.

Ludo’.

Ludovic Courtès (6):
  daemon: 'Agent' constructor takes a list of environment variables.
  daemon: Use 'Agent' to spawn 'guix substitute --query'.
  daemon: Factorize substituter agent spawning.
  daemon: Run 'guix substitute --substitute' as an agent.
  substitute: Cache and reuse connections while substituting.
  daemon: Raise an error if substituter doesn't send the expected hash.

 guix/http-client.scm        |  12 +-
 guix/progress.scm           |   8 +-
 guix/scripts/substitute.scm | 243 ++++++++++++++++++++++++------------
 nix/libstore/build.cc       | 173 +++++++++++++------------
 nix/libstore/local-store.cc | 170 ++++++-------------------
 nix/libstore/local-store.hh |  25 +---
 nix/libutil/util.cc         |   6 +-
 nix/libutil/util.hh         |   7 +-
 tests/substitute.scm        |  98 +++++++++------
 9 files changed, 381 insertions(+), 361 deletions(-)

-- 
2.29.2






reply via email to

[Prev in Thread] Current Thread [Next in Thread]