From 265e00a718d651d5e337810a7c79f1639b7a6bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reynir=20Bj=C3=B6rnsson?= Date: Thu, 25 Mar 2021 10:42:04 +0100 Subject: [PATCH] Do DB rollback on failed build insert --- lib/model.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/model.ml b/lib/model.ml index 5c71b78..5aaddaf 100644 --- a/lib/model.ml +++ b/lib/model.ml @@ -223,4 +223,11 @@ let add_build Db.commit () >>= fun () -> commit_files basedir staging_dir job_name uuid in - or_cleanup r + Lwt_result.bind_lwt_err (or_cleanup r) + (fun e -> + Db.rollback () + |> Lwt.map (fun r -> + Result.iter_error + (fun e' -> Log.err (fun m -> m "Failed rollback: %a" Caqti_error.pp e')) + r; + e))