diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index d8f49ca..9456562 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -300,11 +300,22 @@ WHERE job_id = $1") (list job-id))))) (define (drop-log-parts-sequence conn job-id) - (exec-query + (with-postgresql-transaction conn - (string-append - "DROP SEQUENCE IF EXISTS " - (log-part-sequence-name job-id)))) + (lambda (conn) + (exec-query conn + "SET LOCAL lock_timeout = '10s'") + (with-exception-handler + (lambda (exn) + (simple-format (current-error-port) + "error when dropping sequence: ~A" + exn)) + (lambda () + (exec-query conn + (string-append + "DROP SEQUENCE IF EXISTS " + (log-part-sequence-name job-id)))) + #:unwind? #t)))) (define (vacuum-log-parts-table conn) (exec-query