aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatej Urbas <matej.urbas@gmail.com>2023-05-13 11:25:06 +0100
committerMatej Urbas <matej.urbas@gmail.com>2023-05-14 09:51:11 +0100
commitc66a7af0c67e11579acf2554145f693d3a861450 (patch)
treef18b303e8fad5c476645e99633f69908acbbddbe
parent916da456cbc1ae0142d4a7c0162809475767a54a (diff)
`max-substitution-jobs` release note entry
-rw-r--r--doc/manual/src/release-notes/rl-next.md4
-rw-r--r--src/libstore/build/substitution-goal.cc7
2 files changed, 7 insertions, 4 deletions
diff --git a/doc/manual/src/release-notes/rl-next.md b/doc/manual/src/release-notes/rl-next.md
index 78ae99f4b..bc0d41bdf 100644
--- a/doc/manual/src/release-notes/rl-next.md
+++ b/doc/manual/src/release-notes/rl-next.md
@@ -1,2 +1,6 @@
# Release X.Y (202?-??-??)
+- Speed-up of downloads from binary caches.
+ The number of parallel downloads (also known as substitutions) has been separated from the [`--max-jobs` setting](../command-ref/conf-file.md#conf-max-jobs).
+ The new setting is called [`max-substitution-jobs`](../command-ref/conf-file.md#conf-max-substitution-jobs).
+ The number of parallel downloads is now set to 16 by default (previously, the default was 1 due to the coupling to build jobs).
diff --git a/src/libstore/build/substitution-goal.cc b/src/libstore/build/substitution-goal.cc
index 30c196894..93867007d 100644
--- a/src/libstore/build/substitution-goal.cc
+++ b/src/libstore/build/substitution-goal.cc
@@ -200,10 +200,9 @@ void PathSubstitutionGoal::tryToRun()
{
trace("trying to run");
- /* Make sure that we are allowed to start a build. Note that even
- if maxBuildJobs == 0 (no local builds allowed), we still allow
- a substituter to run. This is because substitutions cannot be
- distributed to another machine via the build hook. */
+ /* Make sure that we are allowed to start a substitution. Note that even
+ if maxSubstitutionJobs == 0, we still allow a substituter to run. This
+ prevents infinite waiting. */
if (worker.getNrSubstitutions() >= std::max(1U, (unsigned int) settings.maxSubstitutionJobs)) {
worker.waitForBuildSlot(shared_from_this());
return;