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:
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user