Skip to content

Commit fccee26

Browse files
committed
fix(coprocessor): host-listener, timeout slow reconnection for catchup
1 parent 8225f4e commit fccee26

File tree

1 file changed

+13
-3
lines changed
  • coprocessor/fhevm-engine/host-listener/src/cmd

1 file changed

+13
-3
lines changed

coprocessor/fhevm-engine/host-listener/src/cmd/mod.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -329,9 +329,19 @@ impl InfiniteLogIter {
329329
let ws = WsConnect::new(&self.url)
330330
.with_config(config)
331331
.with_max_retries(0); // disabled, alloy skips events
332-
let provider = match ProviderBuilder::new().connect_ws(ws).await {
333-
Ok(provider) => provider,
334-
Err(_) => anyhow::bail!("Cannot get a provider"),
332+
// Timeout to prevent slow reconnection
333+
let provider = tokio::time::timeout(
334+
Duration::from_secs(self.timeout_request_websocket),
335+
ProviderBuilder::new().connect_ws(ws)
336+
);
337+
let provider = match provider.await {
338+
Err(_) => {
339+
anyhow::bail!("Timeout getting provider for logs range")
340+
}
341+
Ok(Err(err)) => {
342+
anyhow::bail!("Cannot get provider for logs range due to {err}")
343+
}
344+
Ok(Ok(provider)) => provider,
335345
};
336346
// Timeout to prevent hanging indefinitely on buggy node
337347
match tokio::time::timeout(

0 commit comments

Comments
 (0)