Skip to content

A new node catchs up slowly if the block chain stops making progress. #1957

Open
@peilun-conflux

Description

@peilun-conflux

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low Prioritybackward compatibleThe change is fully compatible with nodes running previous versionsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions