diff --git a/zebrad/src/components/sync.rs b/zebrad/src/components/sync.rs index ba749a4c..6646af7b 100644 --- a/zebrad/src/components/sync.rs +++ b/zebrad/src/components/sync.rs @@ -46,21 +46,6 @@ const TIPS_RESPONSE_TIMEOUT: Duration = Duration::from_secs(6); /// Controls how long we wait for a block download request to complete. const BLOCK_DOWNLOAD_TIMEOUT: Duration = Duration::from_secs(20); -/// The maximum amount of time that Zebra should take to download a checkpoint -/// full of blocks. Based on the current `MAX_CHECKPOINT_BYTE_SIZE`. -/// -/// We assume that Zebra nodes have at least 10 Mbps bandwidth, and allow some -/// extra time for request latency. -const MAX_CHECKPOINT_DOWNLOAD_SECONDS: u64 = 300; - -/// Controls how long we wait for a block verify task to complete. -/// -/// This timeout makes sure that the syncer and verifiers do not deadlock. -/// When the lookahead limit is reached, the syncer waits for blocks to verify -/// (or fail). If the verifiers are also waiting for more blocks from the syncer, -/// then without a timeout, Zebra would deadlock. -const BLOCK_VERIFY_TIMEOUT: Duration = Duration::from_secs(MAX_CHECKPOINT_DOWNLOAD_SECONDS); - /// Controls how long we wait to restart syncing after finishing a sync run. /// /// This timeout should be long enough to: @@ -102,10 +87,7 @@ where lookahead_limit: usize, downloads: Pin< Box< - Downloads< - Hedge>>, AlwaysHedge>, - Timeout, - >, + Downloads>>, AlwaysHedge>, ZV>, >, >, } @@ -158,10 +140,7 @@ where Self { tip_network, state, - downloads: Box::pin(Downloads::new( - block_network, - Timeout::new(verifier, BLOCK_VERIFY_TIMEOUT), - )), + downloads: Box::pin(Downloads::new(block_network, verifier)), prospective_tips: HashSet::new(), genesis_hash: genesis_hash(config.network.network), lookahead_limit: std::cmp::max(config.sync.lookahead_limit, MIN_LOOKAHEAD_LIMIT), @@ -587,20 +566,9 @@ mod test { fn ensure_timeouts_consistent() { zebra_test::init(); - let max_download_retry_time = - BLOCK_DOWNLOAD_TIMEOUT.as_secs() * (BLOCK_DOWNLOAD_RETRY_LIMIT as u64); - assert!( - max_download_retry_time < BLOCK_VERIFY_TIMEOUT.as_secs(), - "Verify timeout should allow for previous block download retries" - ); assert!( BLOCK_DOWNLOAD_TIMEOUT.as_secs() * 2 < SYNC_RESTART_TIMEOUT.as_secs(), "Sync restart should allow for pending and buffered requests to complete" ); - - assert!( - SYNC_RESTART_TIMEOUT < BLOCK_VERIFY_TIMEOUT, - "Verify timeout should allow for a sync restart" - ); } }