aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-04-25 23:33:12 +0100
committerChristopher Baines <mail@cbaines.net>2024-04-25 23:33:12 +0100
commit824e731a5c0ebb6acc8eb118fda1fd2bfc367256 (patch)
treeec4526b95995fe9f9ef9ce2cf936bcf7b6c1aac3
parent4a09be753c12e39186d448b30abced6ec1358ee1 (diff)
downloaddata-service-824e731a5c0ebb6acc8eb118fda1fd2bfc367256.tar
data-service-824e731a5c0ebb6acc8eb118fda1fd2bfc367256.tar.gz
Attempt to avoid the WAL growing excessively
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm25
1 files changed, 20 insertions, 5 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index e2fb379..5c2744c 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1427,14 +1427,21 @@
guix-locpath)))
(ensure-non-blocking-store-connection inferior-store)
(make-inferior-non-blocking! inferior)
+
+ (simple-format #t "debug: started new inferior and store connection\n")
+
(cons inferior inferior-store)))
parallelism
#:min-size 0
- #:idle-seconds 10
- #:destructor (match-lambda
- ((inferior . store)
- (close-connection store)
- (close-inferior inferior)))))
+ #:idle-seconds 2
+ #:destructor
+ (match-lambda
+ ((inferior . store)
+ (simple-format
+ #t "debug: closing inferior and associated store connection\n")
+
+ (close-connection store)
+ (close-inferior inferior)))))
(define add-temp-root/long-running-store
(let ((channel (make-channel)))
@@ -1477,6 +1484,14 @@
(par-map&
(match-lambda
((system . target)
+ (let loop ((wal-bytes (stat:size (stat "/var/guix/db/db.sqlite-wal"))))
+ (when (> wal-bytes 200000000)
+ (simple-format #t "debug: guix-daemon WAL is large (~A), waiting\n"
+ wal-bytes)
+
+ (sleep 30)
+ (loop (stat:size (stat "/var/guix/db/db.sqlite-wal")))))
+
(with-resource-from-pool inf-and-store-pool res
(with-time-logging
(simple-format #f "getting derivations for ~A" (cons system target))