From 2af90c95507ea2618f376a17aa53faebbbca4740 Mon Sep 17 00:00:00 2001 From: Kevin Longe <273747162+kvlonge@users.noreply.github.com> Date: Fri, 6 Nov 2026 13:11:10 +0000 Subject: [PATCH] test: drain every due trigger after scheduler fault recovery The fault test checked recovery with one scheduler cycle, which evaluates at most 100 due triggers. With 400 triggers, a slow runner that crossed a minute boundary during recovery left the rest without their latest tick. Run enough cycles to drain every trigger due at the settled time. --- .../tests/scheduler/ticks/helpers.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/sqlbuild-orchestration/tests/scheduler/ticks/helpers.rs b/crates/sqlbuild-orchestration/tests/scheduler/ticks/helpers.rs index ccb7655c57..9ae555d007 100644 --- a/crates/sqlbuild-orchestration/tests/scheduler/ticks/helpers.rs +++ b/crates/sqlbuild-orchestration/tests/scheduler/ticks/helpers.rs @@ -619,9 +619,12 @@ pub(crate) async fn fault_run( .0; } let settled = Utc::now(); - scheduler_cycle(&second, survivor) - .await - .expect("final recovery"); + for _ in 0..FAULT_TRIGGERS.div_ceil(100) { + survivor = scheduler_cycle(&second, survivor) + .await + .expect("final recovery") + .0; + } let first = started .duration_trunc(TimeDelta::minutes(1)) .expect("minute")