diff options
author | Christopher Baines <mail@cbaines.net> | 2020-04-29 07:59:00 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-04-29 07:59:00 +0100 |
commit | 3af9759c3ebe205d84134707a506809ca0973a57 (patch) | |
tree | ee0526f84100ab456d387cb59735609f63a1eda9 | |
parent | 9c8f568ae995ecb8c5e0455e3452985cfa899797 (diff) | |
download | build-coordinator-3af9759c3ebe205d84134707a506809ca0973a57.tar build-coordinator-3af9759c3ebe205d84134707a506809ca0973a57.tar.gz |
Improve the error handling in datastore-store-build-result
-rw-r--r-- | guix-build-coordinator/datastore/sqlite.scm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index e7acd9f..7906081 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -382,18 +382,20 @@ VALUES " (lambda (db) (sqlite-exec db "BEGIN TRANSACTION;") (with-exception-handler - (lambda (key . args) + (lambda (exn) (simple-format (current-error-port) - "error: sqlite: ~A ~A\n" - key args) - (sqlite-exec db "ROLLBACK TRANSACTION;")) + "error: sqlite: ~A\n" + exn) + (sqlite-exec db "ROLLBACK TRANSACTION;") + (raise-exception exn)) (lambda () (insert-build-result db build-id agent-id result failure-reason) (remove-build-allocation db build-id agent-id) (mark-build-as-processed db build-id) (when output-metadata (store-output-metadata db build-id output-metadata)) - (sqlite-exec db "COMMIT TRANSACTION;"))))) + (sqlite-exec db "COMMIT TRANSACTION;")) + #:unwind? #t))) #t) (define (insert-setup-failure-and-remove-allocation |