Open
Description
This not an issue if the chain is making progress normally, but we should still allow new nodes to catch up in this case for debugging.
The cause is that start_sync
will only be triggered every EPOCH_SYNC_RESTART_TIMEOUT_S
seconds.
There are two other ways it can be triggered in normal cases, in the handling of GetBlockHashesResponse
or Heartbeat
.
GetBlockHashesResponse
will not be handled because in the phase CatchUpSyncBlock
we will just read the epoch hashes from the local database based on the epoch hashes written during CatchUpSyncBlockHeader
.
In the handling of Heartbeat
, start_sync
will not be triggered because best_epoch
does not change.