From 9df75d7ea428596e9cf00a73799c7fbeb27aa792 Mon Sep 17 00:00:00 2001 From: swrup Date: Thu, 26 Feb 2026 16:34:43 +0100 Subject: [PATCH] warn about keyring state mismatch only once --- src/keys.ml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/keys.ml b/src/keys.ml index 18ec76ad..ef67bb0b 100644 --- a/src/keys.ml +++ b/src/keys.ml @@ -53,6 +53,17 @@ module Make (Conn : Pg.CONN) : S = struct let find_signkey pub = Pg.find_signkey conn pub |> unwrap_err_caqti let find_denomination h_pub = Pg.find_denom conn h_pub |> unwrap_err_caqti + let warn_key_state = + let first = ref true in + fun () -> + if !first then ( + Logs.warn (fun m -> + m + "some keys found in database are missing from secmod, (unclean \ + database/secmod state?)"); + first := false; + ()) + let signkeys () : Signkey.t list result = let now = Timestamp.of_ptime @@ Ptime_clock.now () in let+ l = Pg.get_signkeys conn ~now |> unwrap_err_caqti in @@ -64,10 +75,7 @@ module Make (Conn : Pg.CONN) : S = struct match missing_l with | [] -> l | _ -> - Logs.warn (fun m -> - m - "some signkeys found in database are missing from secmod, \ - (unclean database/secmod state?)"); + warn_key_state (); Logs.debug (fun m -> m "found %d active signkey(s)" (List.length l)); l @@ -81,10 +89,7 @@ module Make (Conn : Pg.CONN) : S = struct match missing_l with | [] -> l | _ -> - Logs.warn (fun m -> - m - "some denominations found in database are missing from secmod, \ - (unclean database/secmod state?)"); + warn_key_state (); Logs.debug (fun m -> m "found %d active denomination(s)" (List.length l)); l