From 56f97ba8e2aaecdd7f4f9e7d1ae87e6c3ff935ac Mon Sep 17 00:00:00 2001 From: Steven Czabaniuk Date: Thu, 18 Jan 2024 17:35:20 -0600 Subject: [PATCH] Update callers to handle the Result --- core/src/validator.rs | 8 +++++--- ledger-tool/src/ledger_utils.rs | 6 +++++- local-cluster/tests/local_cluster.rs | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/core/src/validator.rs b/core/src/validator.rs index c2dd6c50f1d5f4..a8751e6d285536 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -565,9 +565,10 @@ impl Validator { "ledger directory does not exist or is not accessible: {ledger_path:?}" )); } - let genesis_config = - open_genesis_config(ledger_path, config.max_genesis_archive_unpacked_size); + open_genesis_config(ledger_path, config.max_genesis_archive_unpacked_size) + .map_err(|err| format!("Failed to open genesis config: {err}"))?; + metrics_config_sanity_check(genesis_config.cluster_type)?; if let Some(expected_shred_version) = config.expected_shred_version { @@ -1764,7 +1765,8 @@ fn load_blockstore( > { info!("loading ledger from {:?}...", ledger_path); *start_progress.write().unwrap() = ValidatorStartProgress::LoadingLedger; - let genesis_config = open_genesis_config(ledger_path, config.max_genesis_archive_unpacked_size); + let genesis_config = open_genesis_config(ledger_path, config.max_genesis_archive_unpacked_size) + .map_err(|err| format!("Failed to open genesis config: {err}"))?; // This needs to be limited otherwise the state in the VoteAccount data // grows too large diff --git a/ledger-tool/src/ledger_utils.rs b/ledger-tool/src/ledger_utils.rs index 5c2713ef18a580..1476c2df06adbc 100644 --- a/ledger-tool/src/ledger_utils.rs +++ b/ledger-tool/src/ledger_utils.rs @@ -553,7 +553,11 @@ fn open_blockstore_with_temporary_primary_access( pub fn open_genesis_config_by(ledger_path: &Path, matches: &ArgMatches<'_>) -> GenesisConfig { let max_genesis_archive_unpacked_size = value_t_or_exit!(matches, "max_genesis_archive_unpacked_size", u64); - open_genesis_config(ledger_path, max_genesis_archive_unpacked_size) + + open_genesis_config(ledger_path, max_genesis_archive_unpacked_size).unwrap_or_else(|err| { + eprintln!("Exiting. Failed to open genesis config: {err}"); + exit(1); + }) } pub fn get_program_ids(tx: &VersionedTransaction) -> impl Iterator + '_ { diff --git a/local-cluster/tests/local_cluster.rs b/local-cluster/tests/local_cluster.rs index 4ed4ee46f74f9a..74039f1a64a330 100644 --- a/local-cluster/tests/local_cluster.rs +++ b/local-cluster/tests/local_cluster.rs @@ -2196,7 +2196,7 @@ fn create_snapshot_to_hard_fork( ..ProcessOptions::default() }; let ledger_path = blockstore.ledger_path(); - let genesis_config = open_genesis_config(ledger_path, u64::max_value()); + let genesis_config = open_genesis_config(ledger_path, u64::max_value()).unwrap(); let snapshot_config = create_simple_snapshot_config(ledger_path); let (bank_forks, ..) = bank_forks_utils::load( &genesis_config,