aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-09 08:55:09 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-09 08:55:09 +0100
commit47c482bdcc40d57d871accf576a6c19ac4c08039 (patch)
treec899f3ce89977c3bfea5a233b3ce026af21f7ccc
parent3734a85650cc4a34d5bfa06d151edcc7efe7144e (diff)
downloaddata-service-47c482bdcc40d57d871accf576a6c19ac4c08039.tar
data-service-47c482bdcc40d57d871accf576a6c19ac4c08039.tar.gz
Set lock_timeout for some data deletion transactions
As these can cause deadlocks. This will probably cause errors, so some retrying will need to be added.
-rw-r--r--guix-data-service/data-deletion.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/guix-data-service/data-deletion.scm b/guix-data-service/data-deletion.scm
index 29272ac..918656e 100644
--- a/guix-data-service/data-deletion.scm
+++ b/guix-data-service/data-deletion.scm
@@ -212,6 +212,8 @@ WHERE id IN (
conn
'delete-revisions-from-branch)
+ (exec-query conn "SET LOCAL lock_timeout = '5s';")
+
(delete-from-git-commits conn)
(delete-jobs conn)
@@ -581,6 +583,8 @@ WHERE NOT EXISTS (
"
SET CONSTRAINTS derivations_by_output_details_set_derivation_id_fkey DEFERRED")
+ (exec-query conn "SET LOCAL lock_timeout = '5s';")
+
(maybe-delete-derivation conn
derivation-id))))))
derivations)))))