From 2448b2026bb1f5e0cee6f78b7d3b2e6a30905136 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 2 May 2023 16:11:48 +0200 Subject: Don't log as much about "expected" exceptions in worker threads --- guix-build-coordinator/coordinator.scm | 6 +++++- guix-build-coordinator/datastore.scm | 8 ++++++-- guix-build-coordinator/datastore/sqlite.scm | 9 ++++++--- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm index adda7a4..0e87b0b 100644 --- a/guix-build-coordinator/coordinator.scm +++ b/guix-build-coordinator/coordinator.scm @@ -333,7 +333,11 @@ (datastore (database-uri->datastore database-uri-string - #:metrics-registry metrics-registry)) + #:metrics-registry metrics-registry + #:worker-thread-log-exception? + (lambda (exn) + (and (not (agent-error? exn)) + (not (client-error? exn)))))) hooks (allocation-strategy basic-build-allocation-strategy)) diff --git a/guix-build-coordinator/datastore.scm b/guix-build-coordinator/datastore.scm index a12c41a..4af90e0 100644 --- a/guix-build-coordinator/datastore.scm +++ b/guix-build-coordinator/datastore.scm @@ -97,12 +97,16 @@ (define* (database-uri->datastore database #:key - metrics-registry) + metrics-registry + worker-thread-log-exception?) (cond ((string-prefix? "pg://" database) (postgresql-datastore database)) ((string-prefix? "sqlite://" database) - (sqlite-datastore database #:metrics-registry metrics-registry)) + (sqlite-datastore database + #:metrics-registry metrics-registry + #:worker-thread-log-exception? + worker-thread-log-exception?)) (else (error (simple-format #f "Unknown database ~A" database))))) diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index a37c97c..5fb6408 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -114,7 +114,8 @@ (define* (sqlite-datastore database-uri #:key update-database? - metrics-registry) + metrics-registry + worker-thread-log-exception?) (define database-file (string-drop database-uri (string-length "sqlite://"))) @@ -199,7 +200,8 @@ CREATE TABLE IF NOT EXISTS mem.build_allocation_plan ( (current-error-port) "warning: database write took ~1,2f seconds (~a)~%" duration - proc))))) + proc))) + #:log-exception? worker-thread-log-exception?)) ;; Make sure the worker thread has initialised, and created the in memory ;; tables @@ -260,7 +262,8 @@ CREATE TABLE IF NOT EXISTS mem.build_allocation_plan ( (current-error-port) "warning: database read took ~1,2f seconds (~a)~%" duration - proc))))) + proc))) + #:log-exception? worker-thread-log-exception?)) datastore)) -- cgit v1.2.3