fix: stop event-triggers Lagged handler from re-emitting via the same channel

Merge 1061 added a replay_current_pipeline_state() call to the broadcast::Lagged
branch, but replay broadcasts one event per CRDT item (~997) into a 256-slot
channel, deterministically re-overflowing it and triggering another Lagged. The
loop pinned CPU and likely caused today's machine crash. Revert to the pre-1061
behaviour of logging and continuing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Timmy
2026-05-14 22:33:14 +01:00
parent 8f666bd6b3
commit e6865a1bc6
+1 -2
View File
@@ -330,9 +330,8 @@ pub(crate) fn spawn_event_trigger_subscriber(
Ok(f) => f,
Err(broadcast::error::RecvError::Lagged(n)) => {
crate::slog!(
"[event-triggers] Lagged {n} transition events; replaying pipeline state to recover"
"[event-triggers] Lagged {n} transition events; some triggers may have been skipped"
);
crate::pipeline_state::replay_current_pipeline_state();
continue;
}
Err(broadcast::error::RecvError::Closed) => {