This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
overseer: signal completion of major sync #6694
Labels
T0-node
This PR/Issue is related to the topic “node”.
T4-parachains_engineering
This PR/Issue is related to Parachains performance, stability, maintenance.
The idea is to use a sync oracle in the overseer similar to #6691 and either add a separate
InitialSyncComplete
signal here, or add a boolis_major_syncing
toActiveLeaves
andBlockFinalized
signals.Approval-voting deliberately made a choice to only track initial major sync. That is if a node is synced, but then goes offline or is slow somehow and major syncs again, it will not detect/react to that. To be consistent with this logic, a separate signal approach would be preferred.
Another consideration: some subsystems are awaiting on the first activated leaf. If for some reason block production stalls and a node restarts, it will not import new blocks. To address that concern, we send active leaves signal on startup based on the current db state here. Consider merging
InitialSyncComplete
and the initial leaves into one signal to simplify logic, i.e. addingInitialSyncComplete(ActiveLeaves)
, where the active leaves would be fetched from either the db or the latest imported block depending on whether we major sync on startup.The text was updated successfully, but these errors were encountered: