From 7e00fb9f31f51ac2f9fa67b71a3eb8aaa23efdb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 4 Jun 2024 09:41:28 +0200 Subject: [PATCH] =?UTF-8?q?substitute:=20Don=E2=80=99t=20keep=20cache=20en?= =?UTF-8?q?tries=20more=20than=20a=20few=20days.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Experience has shown that keeping too many entries increases disk usage and, more importantly, leads to long delays when cleaning up the cache, measured in minutes on slow or busy HDDs with hundreds of thousands of cache entries, as is common on build machines. In those cases, the cost of the cache outweighs its benefit. * guix/scripts/substitute.scm (%narinfo-expired-cache-entry-removal-delay): Reduce to 5 days. (cached-narinfo-expiration-time)[max-ttl]: Reduce to 2 days. Change-Id: Iab212f572ee9041be61716423a3c014f93fe81ed --- guix/scripts/substitute.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index a7ad56dbcd..8bcbca5e7a 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -77,7 +77,7 @@ (define-module (guix scripts substitute) (define %narinfo-expired-cache-entry-removal-delay ;; How often we want to remove files corresponding to expired cache entries. - (* 7 24 3600)) + (* 5 24 3600)) (define (warn-about-missing-authentication) (warning (G_ "authentication and authorization of substitutes \ @@ -169,8 +169,9 @@ (define (cached-narinfo-expiration-time file) "Return the expiration time for FILE, which is a cached narinfo." (define max-ttl ;; Upper bound on the TTL used to avoid keeping around cached narinfos for - ;; too long, which makes the cache bigger and more expensive to traverse. - (* 2 30 24 60 60)) ;2 months + ;; too long, which makes the cache bigger and more expensive to traverse + ;; when deleting old entries. + (* 2 24 60 60)) (catch 'system-error (lambda ()