Testnet Only Version, don't deploy to mainnet environment
Release Notes
Changes compared with the previous testnet release v2.9.2-testnet. For the full list of changes since mainnet v2.7.1, see the v2.9.1-testnet and v2.9.2-testnet release notes.
๐ Highlights
- Fast sync now completes after it is interrupted. Before, a resumed sync with a configured pivot kept failing with
gap pivot block <N> not found in downloaded resultsand the head stayed at genesis. - Fast sync with an automatic pivot now stores the XDPoS V2 gap snapshots below the pivot. Before, the node stopped at the first epoch switch after the pivot with
gap snapshot is unavailable. - The mainnet V2 config now has the round
17579700entry that ships in v2.7.1.
๐ Stability & Bug Fixes
Fast Sync (#2753, #2754)
- When a gap pivot block isn't among the blocks downloaded in the current cycle, its header is read from the local chain by walking parent hashes back from the pivot.
- An automatic-pivot fast sync (head โ 64) now syncs the gap block states below the pivot and builds their snapshots before committing it, just as a configured pivot (
--fastsyncpivotnumber) does. - This also covers nodes that switched to fast sync on their own. That happens when a rollback leaves the head block at genesis while the snap head is ahead, even on
SYNC_MODE=fullnodes. - Behaviour change: an automatic-pivot fast sync now needs a peer that can serve the gap block state, about 500 to 1,400 blocks behind the head. In practice that is an archive node. Without one, the sync waits in the gap state sync instead of committing a pivot that would stop at the next epoch switch.
Chain Config (#2778)
- Added the missing mainnet
MainnetV2Configsentry at round17579700(TimeoutPeriod: 60,MaxMasternodes: 108) toparamsand the embeddedgenesis/mainnet.json. Without it, mainnet nodes on this branch keptTimeoutPeriod: 10from round 3200000. Testnet config is unchanged.
๐งน Maintenance & Logging
- A WARN log when the node re-enables fast sync because the head block is at genesis but the snap head is ahead. Before, this switch was not logged at all.
- INFO logs for the automatic fast sync pivot and for the gap blocks being synced below it.
- New tests:
TestFastSyncGapPivotResumesAfterInterruption,TestFastSyncAutoPivotGapSnapshot,TestGapPivotNumbersWithoutXDPoS.
Full Changelog: v2.9.2-testnet...v2.9.3-testnet