upstream: a diagnostics episode follows health, and a peer fault carries its cause
Gates / frontend (push) Successful in 2m5s
Gates / test (push) Successful in 2m43s
Gates / test-aarch64 (push) Successful in 8m19s
Gates / package (push) Successful in 4m21s
Gates / container (push) Successful in 13s
CI / gates (push) Successful in 30m43s

This commit is contained in:
2026-09-12 20:24:49 +02:00
parent 6e9a36903e
commit 08cdf86ecd
20 changed files with 1797 additions and 426 deletions
+7
View File
@@ -557,6 +557,13 @@ fn serve(r: cli.Runner, args: cli.RunArgs) !u8 {
var upstreams: upstream_owner.Owner = .init(upstream_generation);
defer upstreams.deinit(io);
upstreams.diagnostics = event_store;
// The store outlived the process that wrote it, so every `upstream.exchange`
// episode in it describes a pool that no longer exists. This closes the ones
// no enabled upstream of this boot can justify, and projects the health of
// the ones that remain — a fresh pool is all clear, so a warning that
// survives this boot is one this process opened.
upstreams.reconcileDiagnostics(io, upstream_generation);
// -----------------------------------------------------------------------
// per-query state