arch: add pre-flight database and network integrity checks to reth-entrypoint #817
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.
This PR introduces a robust pre-flight check mechanism to the reth-entrypoint script to improve node resilience and prevent common failure modes in production environments.
Key Architectural Improvements:
Automated DB Integrity Validation:
Adds a call to reth db stats before the main process execution.
Value: Prevents "Crash Loops" caused by corrupted PebbleDB/MDBX states, ensuring the node only starts with a healthy local database.
Flashblocks Connectivity Guard:
Implements a non-blocking connectivity check for the RETH_FB_WEBSOCKET_URL.
Value: Provides early warning in logs if the Flashblocks service is unreachable, preventing silent synchronization delays.
Defensive Boot Sequence:
Ensures that environment variables for authentication and network are validated before exec.
Why this is necessary: Based on recent optimizations in the OP Stack P2P layer and Arbitrum state validation, maintaining high availability (HA) requires proactive checks at the entrypoint level rather than relying solely on the binary's internal error handling.