[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
[bug#45018] [PATCH 0/6] Process and connection reuse for substitutions, 宋文武, 2020/12/03
[bug#45018] [PATCH 0/6] Process and connection reuse for substitutions, Ludovic Courtès, 2020/12/03
- [bug#45018] [PATCH 0/6] Process and connection reuse for substitutions, Mathieu Othacehe, 2020/12/04
- [bug#45018] [PATCH v2 0/6] Process and connection reuse for substitutions,
Ludovic Courtès <=
- [bug#45018] [PATCH v2 2/6] daemon: Use 'Agent' to spawn 'guix substitute --query'., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 6/6] daemon: Raise an error if substituter doesn't send the expected hash., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 1/6] daemon: 'Agent' constructor takes a list of environment variables., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 3/6] daemon: Factorize substituter agent spawning., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 5/6] substitute: Cache and reuse connections while substituting., Ludovic Courtès, 2020/12/06
- [bug#45018] [PATCH v2 4/6] daemon: Run 'guix substitute --substitute' as an agent., Ludovic Courtès, 2020/12/06
- bug#45018: [PATCH v2 0/6] Process and connection reuse for substitutions, Ludovic Courtès, 2020/12/08