Skip to content

Commit

Permalink
Make --wait-for-supermajority require --expected-shred-version (anza-…
Browse files Browse the repository at this point in the history
…xyz#192)

In cluster restart scenarios, an important step is scanning the
Blockstore for blocks that occur after the chosen restart slot with an
incorrect shred version. This check ensures that any blocks that
occurred pre-cluster restart and after the chosen restart slot get
deleted. If a node skips this step, the node can encounter problems when
that block is created again, after the cluster has restarted.

This check only occurs if --wait-for-supermajority AND
--expected-shred-version are set; however, --expected-... is currently
optional when using --wait-...

Our restart instructions typically mention that one should specify
--expected-... as well, but we should just enforce it at the CLI level
to prevent mistakes / wasted time debuggging.
  • Loading branch information
steviez authored and willhickey committed Mar 16, 2024
1 parent 87a5893 commit 1ffdca5
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions validator/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -745,6 +745,7 @@ pub fn app<'a>(version: &'a str, default_args: &'a DefaultArgs) -> App<'a, 'a> {
Arg::with_name("wait_for_supermajority")
.long("wait-for-supermajority")
.requires("expected_bank_hash")
.requires("expected_shred_version")
.value_name("SLOT")
.validator(is_slot)
.help(
Expand Down

0 comments on commit 1ffdca5

Please sign in to comment.