diff mbox series

[bug#67866] daemon: Change default ‘timeout’ and ‘max-silent-time’ values.

Message ID 498d6405f0a2d792bb3af7d4e19ae19cf8780822.1702823602.git.ludo@gnu.org
State New
Headers show
Series [bug#67866] daemon: Change default ‘timeout’ and ‘max-silent-time’ values. | expand

Commit Message

Ludovic Courtès Dec. 17, 2023, 2:35 p.m. UTC
Having a timeout seems generally preferable as it makes sure build slots
are not kept busy for no good reason (few package builds, if any, are
expected to exceed these values).

* nix/libstore/globals.cc (Settings::Settings): Change ‘maxSilentTime’
and ‘buildTimeout’.
* gnu/services/base.scm (<guix-configuration>)[max-silent-time]
[timeout]: Change default values.
* doc/guix.texi (Invoking guix-daemon, Base Services): Adjust
accordingly.

Change-Id: I25c50893f3f7fcca451b8f093d9d4d1a15fa58d8
---
 doc/guix.texi           | 8 ++++----
 gnu/services/base.scm   | 4 ++--
 nix/libstore/globals.cc | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

Hi!

I was pretty sure these were the default values already and was shocked to
discover that this was not the case.

Thoughts?  Objections?

Ludo'.


base-commit: b681e339fa37f2a26763458ee56b31af1d6a7ec5

Comments

Simon Tournier Dec. 19, 2023, 1:10 p.m. UTC | #1
Hi,

On Sun, 17 Dec 2023 at 15:35, Ludovic Courtès <ludo@gnu.org> wrote:
> Having a timeout seems generally preferable as it makes sure build slots
> are not kept busy for no good reason (few package builds, if any, are
> expected to exceed these values).
>
> * nix/libstore/globals.cc (Settings::Settings): Change ‘maxSilentTime’
> and ‘buildTimeout’.
> * gnu/services/base.scm (<guix-configuration>)[max-silent-time]
> [timeout]: Change default values.
> * doc/guix.texi (Invoking guix-daemon, Base Services): Adjust
> accordingly.
>
> Change-Id: I25c50893f3f7fcca451b8f093d9d4d1a15fa58d8
> ---
>  doc/guix.texi           | 8 ++++----
>  gnu/services/base.scm   | 4 ++--
>  nix/libstore/globals.cc | 4 ++--
>  3 files changed, 8 insertions(+), 8 deletions(-)

LGTM although I have not tried the patch.

Cheers,
simon
Ludovic Courtès Jan. 8, 2024, 11:22 a.m. UTC | #2
Hi,

Simon Tournier <zimon.toutoune@gmail.com> skribis:

> On Sun, 17 Dec 2023 at 15:35, Ludovic Courtès <ludo@gnu.org> wrote:
>> Having a timeout seems generally preferable as it makes sure build slots
>> are not kept busy for no good reason (few package builds, if any, are
>> expected to exceed these values).
>>
>> * nix/libstore/globals.cc (Settings::Settings): Change ‘maxSilentTime’
>> and ‘buildTimeout’.
>> * gnu/services/base.scm (<guix-configuration>)[max-silent-time]
>> [timeout]: Change default values.
>> * doc/guix.texi (Invoking guix-daemon, Base Services): Adjust
>> accordingly.
>>
>> Change-Id: I25c50893f3f7fcca451b8f093d9d4d1a15fa58d8
>> ---
>>  doc/guix.texi           | 8 ++++----
>>  gnu/services/base.scm   | 4 ++--
>>  nix/libstore/globals.cc | 4 ++--
>>  3 files changed, 8 insertions(+), 8 deletions(-)
>
> LGTM although I have not tried the patch.

Pushed as d5724111ea2a8f5312b47fe9aae2bc74278c127e, thanks!

Ludo’.
diff mbox series

Patch

diff --git a/doc/guix.texi b/doc/guix.texi
index e61a893af9..5f44a78f90 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1799,7 +1799,7 @@  Invoking guix-daemon
 When the build or substitution process remains silent for more than
 @var{seconds}, terminate it and report a build failure.
 
-The default value is @code{0}, which disables the timeout.
+The default value is @code{3600} (one hour).
 
 The value specified here can be overridden by clients (@pxref{Common
 Build Options, @option{--max-silent-time}}).
@@ -1808,7 +1808,7 @@  Invoking guix-daemon
 Likewise, when the build or substitution process lasts for more than
 @var{seconds}, terminate it and report a build failure.
 
-The default value is @code{0}, which disables the timeout.
+The default value is 24 hours.
 
 The value specified here can be overridden by clients (@pxref{Common
 Build Options, @option{--timeout}}).
@@ -19384,8 +19384,8 @@  Base Services
 might want to turn it off for instance in a virtual machine that does
 not need it and where the extra boot time is a problem.
 
-@item @code{max-silent-time} (default: @code{0})
-@itemx @code{timeout} (default: @code{0})
+@item @code{max-silent-time} (default: @code{3600})
+@itemx @code{timeout} (default: @code{(* 3600 24)})
 The number of seconds of silence and the number of seconds of activity,
 respectively, after which a build process times out.  A value of zero
 disables the timeout.
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 6539bfd6ce..60388a22dd 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1798,9 +1798,9 @@  (define-record-type* <guix-configuration>
   (chroot-directories guix-configuration-chroot-directories ;list of file-like/strings
                       (default '()))
   (max-silent-time  guix-configuration-max-silent-time ;integer
-                    (default 0))
+                    (default 3600))
   (timeout          guix-configuration-timeout    ;integer
-                    (default 0))
+                    (default (* 3600 24)))
   (log-compression  guix-configuration-log-compression
                     (default 'gzip))
   (discover?        guix-configuration-discover?
diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc
index d4f9a46a74..89add1f107 100644
--- a/nix/libstore/globals.cc
+++ b/nix/libstore/globals.cc
@@ -32,8 +32,8 @@  Settings::Settings()
     buildCores = 1;
     readOnlyMode = false;
     thisSystem = SYSTEM;
-    maxSilentTime = 0;
-    buildTimeout = 0;
+    maxSilentTime = 3600;
+    buildTimeout = 3600 * 24;
     useBuildHook = true;
     printBuildTrace = false;
     multiplexedBuildOutput = false;