Skip to content

Commit 3de546f

Browse files
committed
Add nice warnings for re-try mechanisms
1 parent 64f4bdc commit 3de546f

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

examples/wallet/src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Example of getting all transactions and erc20 transfers of a multi-address wallet on arbitrum
22

3-
use std::sync::Arc;
3+
use std::{num::NonZero, sync::Arc};
44

55
use hypersync_client::{
66
format::Hex, net_types::Query, Client, ClientConfig, Decoder, StreamConfig,
@@ -18,6 +18,7 @@ async fn main() {
1818

1919
let client = Client::new(ClientConfig {
2020
url: Some("https://eth.hypersync.xyz".parse().unwrap()),
21+
http_req_timeout_millis: NonZero::new(500),
2122
..Default::default()
2223
})
2324
.unwrap();

hypersync-client/src/lib.rs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -301,12 +301,14 @@ impl Client {
301301

302302
let mut err = anyhow!("");
303303

304-
for _ in 0..self.max_num_retries + 1 {
304+
for i in 0..self.max_num_retries + 1 {
305305
match self.get_chain_id_impl().await {
306306
Ok(res) => return Ok(res),
307307
Err(e) => {
308-
log::error!(
309-
"failed to get chain_id from server, retrying... The error was: {:?}",
308+
log::warn!(
309+
"An exception occured getting chain_id from server. Retrying request ({}/{}). The error was: {:?}",
310+
i - 1 ,
311+
self.max_num_retries,
310312
e
311313
);
312314
err = err.context(format!("{:?}", e));
@@ -333,12 +335,14 @@ impl Client {
333335

334336
let mut err = anyhow!("");
335337

336-
for _ in 0..self.max_num_retries + 1 {
338+
for i in 0..self.max_num_retries + 1 {
337339
match self.get_height_impl(None).await {
338340
Ok(res) => return Ok(res),
339341
Err(e) => {
340-
log::error!(
341-
"failed to get height from server, retrying... The error was: {:?}",
342+
log::warn!(
343+
"An exception occured getting height from server. Retrying request ({}/{}). The error was: {:?}",
344+
i,
345+
self.max_num_retries,
342346
e
343347
);
344348
err = err.context(format!("{:?}", e));
@@ -425,12 +429,14 @@ impl Client {
425429

426430
let mut err = anyhow!("");
427431

428-
for _ in 0..self.max_num_retries + 1 {
432+
for i in 0..self.max_num_retries + 1 {
429433
match self.get_arrow_impl(query).await {
430434
Ok(res) => return Ok(res),
431435
Err(e) => {
432-
log::error!(
433-
"failed to get arrow data from server, retrying... The error was: {:?}",
436+
log::warn!(
437+
"An exception occured getting arrow data from server. Retrying request ({}/{}). The error was: {:?}",
438+
i - 1 ,
439+
self.max_num_retries,
434440
e
435441
);
436442
err = err.context(format!("{:?}", e));

0 commit comments

Comments
 (0)