From 1bce38a69dc93eb10b72dd11c8e402b978927653 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 27 Feb 2023 22:48:54 +0000 Subject: [PATCH] Move the delete-unreferenced-derivations advisory lock To better prevent two processes running at the same time. --- guix-data-service/data-deletion.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guix-data-service/data-deletion.scm b/guix-data-service/data-deletion.scm index 35ea4dc..243dcbc 100644 --- a/guix-data-service/data-deletion.scm +++ b/guix-data-service/data-deletion.scm @@ -561,10 +561,6 @@ WHERE NOT EXISTS ( (with-postgresql-transaction conn (lambda (conn) - (obtain-advisory-transaction-lock - conn - 'delete-unreferenced-derivations) - (exec-query conn " @@ -585,6 +581,10 @@ SET CONSTRAINTS derivations_by_output_details_set_derivation_id_fkey DEFERRED") (lambda () (with-thread-postgresql-connection (lambda (conn) + (obtain-advisory-transaction-lock + conn + 'delete-unreferenced-derivations) + (let loop ((total-deleted 0)) (let ((batch-deleted-count (delete-batch conn))) (if (eq? 0 batch-deleted-count)