Add test flag to override SYNC_TOLERANCE_EPOCHS for range sync testing (#7030)

Related to #6880, an issue that's usually observed on local devnets with small number of nodes.

When testing range sync, I usually shutdown a node for some period of time and restart it again. However, if it's within `SYNC_TOLERANCE_EPOCHS` (8), Lighthouse would consider the node as synced, and if it may attempt to produce a block if requested by a validator - on a local devnet, nodes frequently produce blocks - when this happens, the node ends up producing a block that would revert finality and would get disconnected from peers immediately.

### Usage

Run Lighthouse BN with this flag to override:

```
--sync-tolerance--epoch 0
```
This commit is contained in:
Jimmy Chen
2025-02-24 19:30:11 +11:00
committed by GitHub
parent 454c7d05c4
commit 54b4150a62
5 changed files with 39 additions and 3 deletions

View File

@@ -1509,6 +1509,19 @@ pub fn cli_app() -> Command {
.help_heading(FLAG_HEADER)
.display_order(0)
)
.arg(
Arg::new("sync-tolerance-epochs")
.long("sync-tolerance-epochs")
.help("Overrides the default SYNC_TOLERANCE_EPOCHS. This flag is not intended \
for production and MUST only be used in TESTING only. This is primarily used \
for testing range sync, to prevent the node from producing a block before the \
node is synced with the network which may result in the node getting \
disconnected from peers immediately.")
.hide(true)
.requires("enable_http")
.action(ArgAction::Set)
.display_order(0)
)
.arg(
Arg::new("gui")
.long("gui")