Skip to content

Commit 0be23af

Browse files
authored
Always retry connection for flashblocks receiver stream (#447)
1 parent d2b228b commit 0be23af

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

crates/rollup-boost/src/flashblocks/inbound.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,16 @@ impl FlashblocksReceiverService {
7777
self.websocket_config
7878
.flashblock_builder_ws_connect_timeout_ms,
7979
);
80+
81+
info!("FlashblocksReceiverService starting reconnection loop");
8082
loop {
8183
if let Err(e) = self.connect_and_handle(&mut backoff, timeout).await {
8284
let interval = backoff
8385
.next_backoff()
84-
.expect("max_elapsed_time not set, never None");
86+
.unwrap_or_else(|| {
87+
error!("Backoff returned None despite max_elapsed_time=None, using max_interval as fallback");
88+
self.websocket_config.max_interval()
89+
});
8590
error!(
8691
"Flashblocks receiver connection error, retrying in {}ms: {}",
8792
interval.as_millis(),
@@ -93,6 +98,7 @@ impl FlashblocksReceiverService {
9398
} else {
9499
// connect_and_handle should never return Ok(())
95100
error!("Builder websocket connection has stopped. Invariant is broken.");
101+
self.metrics.connection_status.set(0);
96102
}
97103
}
98104
}

0 commit comments

Comments
 (0)