Skip to content

Fix (#1159): Light node with pruning can't catch up after long shutdown#2273

Open
dimension-drifter wants to merge 1 commit intoergoplatform:masterfrom
dimension-drifter:fix/issue-1159
Open

Fix (#1159): Light node with pruning can't catch up after long shutdown#2273
dimension-drifter wants to merge 1 commit intoergoplatform:masterfrom
dimension-drifter:fix/issue-1159

Conversation

@dimension-drifter
Copy link

This PR fixes an issue where a node with pruning enabled fails to catch up after a long shutdown, resulting in MalformedModifierError: Block section should correspond to a block header that is not pruned yet.

The Problem:
When a node is offline for a period longer than the pruning window (blocksToKeep), the minimalFullBlockHeight (calculated from the network's tip) becomes significantly higher than the node's local bestFullBlockHeight. The shouldDownloadBlockAtHeight validation rule was rejecting any blocks below minimalFullBlockHeight. This prevented the node from downloading the necessary intermediate blocks required to update its state and catch up to the network tip.

The Fix:
Modified shouldDownloadBlockAtHeight in FullBlockPruningProcessor to allow downloading and processing of blocks if they are successors to the current bestFullBlockHeight, even if they fall below the minimalFullBlockHeight. This ensures the node can sequentially process history and update its UTXO set to synchronize with the network.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant