feat(execution-beacon)!: extend archive mode to reth - #262
Closed
0xDones wants to merge 1 commit into
Closed
Conversation
Reth has no archive switch: it retains everything unless a pruning flag says otherwise, so every reth node this chart has produced so far was already running unpruned, execution.archive being rejected at template time for that client notwithstanding. execution.archive now covers reth, with the flag inverted relative to the other clients: archive: true renders nothing, since that is reth's own default, and archive: false renders --full, the built-in profile that keeps current state plus a 10064-block window. Seeding an archive node from a minimal or full snapshot yields a node that runs unpruned but has no history from before the snapshot, and never backfills it. Nothing at runtime reports that, reth starts and syncs normally, so archive together with a snapshot profile other than archive is rejected at template time. BREAKING CHANGE: reth deployments that do not set execution.archive: true start pruning on upgrade. Reth cannot undo that, recovering the discarded history needs a resync or a restore from an archive snapshot. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
execution-beacon
Description
execution.archivenow covers reth, chart3.1.0→4.0.0Reth has no archive switch: it retains everything unless a pruning flag says otherwise. Every reth node this chart has produced so far was therefore already running unpruned, even though
execution.archivewas rejected at template time for that client.The flag is inverted relative to nethermind and geth:
execution.archivetruefalse--full, current state plus a 10064-block windowSeeding an archive node from a
minimalorfullsnapshot yields a node that runs unpruned but has no history from before the snapshot, and never backfills it. Nothing at runtime reports that — reth starts and syncs normally — soexecution.archivetogether withexecution.snapshot.profileother thanarchiveis now rejected at template time.Breaking change
Reth deployments that do not set
execution.archive: truestart pruning on upgrade. Reth cannot undo that; recovering the discarded history needs a resync or a restore from an archive snapshot. Operators running reth should setexecution.archive: truebefore taking chart4.0.0if they want the current behaviour.Tests
tests/archive_test.yamlcovers reth archive rendering no pruning flag, reth non-archive rendering--full, and both snapshot-profile validation cases. Full suite: 32 tests, 5 suites, passing.Notes
🤖 Generated with Claude Code