Skip to content

[performance] re-introduce block catchup recovery#21506

Open
sudeepdino008 wants to merge 2 commits into
performancefrom
cp/21415-to-performance
Open

[performance] re-introduce block catchup recovery#21506
sudeepdino008 wants to merge 2 commits into
performancefrom
cp/21415-to-performance

Conversation

@sudeepdino008
Copy link
Copy Markdown
Member

Cherry-pick of #21415 to performance.

performance-specific adaptations

  • execution/execmodule/forkchoice.go: the new no-unwind branch wraps the existing cap-to-minUnwindable logic (performance keeps capping rather than returning ReorgTooDeep, which doesn't exist on this branch).
  • Tests assert ExecutionStatusTooFarAway directly (no ExecutionStatusReorgTooDeep enum on performance).
  • stage_snapshots.go alignStateToBlockSnapshots removal — not applicable; the function doesn't exist on this branch.

Cherry-pick of #21415 to performance.

- forkchoice: skip unwind path when unwindTarget >= TxNums.Last (state
  ahead of canonical). Cap-to-minUnwindable behaviour preserved inside
  the new wrapper.
- aggregator: remove FrozenBlocksProvider / SetFrozenBlocksProvider and
  the cap branch in readyForCollation; the reorgBlockDepth gate is the
  single source of truth.
- drop db/services/snapshot_progress.go (MaxCollatableTxNum helper) and
  its callers in node/eth/backend.go, cmd/integration, cmd/utils/app.
- sync: hoist currentStage reset into a defer in Run / RunNoInterrupt so
  early returns can't leave the pipeline mid-stage.
- tests: add TestUpdateForkChoiceRecoversWhenStateAheadOfTxNums and
  TestUpdateForkChoiceForwardExecutesAfterStateAheadRecovery; remove the
  FrozenBlocksProvider cap tests.
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