From bde3073bd6fd0c5563a8ccbacd6ddbcc6db9790c Mon Sep 17 00:00:00 2001 From: Victor Farazdagi Date: Mon, 17 Aug 2020 19:01:16 +0300 Subject: [PATCH] Wait interval, before finalized peers re-checked (#7032) * wait on no finalized peers * Merge branch 'master' into better-no-finalized-peers-handling --- beacon-chain/sync/initial-sync/blocks_queue.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/beacon-chain/sync/initial-sync/blocks_queue.go b/beacon-chain/sync/initial-sync/blocks_queue.go index da5e577571..01b1937d02 100644 --- a/beacon-chain/sync/initial-sync/blocks_queue.go +++ b/beacon-chain/sync/initial-sync/blocks_queue.go @@ -24,7 +24,10 @@ const ( // Each step is managed by assigned finite state machine. lookaheadSteps = 8 // noFinalizedPeersErrMaxRetries defines number of retries when no finalized peers are found. - noFinalizedPeersErrMaxRetries = 100 + noFinalizedPeersErrMaxRetries = 1000 + // noFinalizedPeersErrRefreshInterval defines interval for which queue will be paused before + // making the next attempt to obtain data. + noFinalizedPeersErrRefreshInterval = 15 * time.Second ) var ( @@ -191,8 +194,11 @@ func (q *blocksQueue) loop() { forceExit := q.exitConditions.noFinalizedPeersErrRetries > noFinalizedPeersErrMaxRetries if q.mode == modeStopOnFinalizedEpoch || forceExit { q.cancel() + } else { + q.exitConditions.noFinalizedPeersErrRetries++ + log.Debug("Waiting for finalized peers") + time.Sleep(noFinalizedPeersErrRefreshInterval) } - q.exitConditions.noFinalizedPeersErrRetries++ continue } }