From 99f5684dc4ef3bbf22fca06edc166c74ce2fcd31 Mon Sep 17 00:00:00 2001 From: "Jeff Washington (jwash)" <75863576+jeffwashington@users.noreply.github.com> Date: Fri, 17 Sep 2021 13:12:06 -0500 Subject: [PATCH] AcctIdx: handle future config defaults (#19967) --- ledger-tool/src/main.rs | 10 +++++----- runtime/src/accounts_index.rs | 5 ++++- validator/src/main.rs | 9 +++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ledger-tool/src/main.rs b/ledger-tool/src/main.rs index 8dedd83e4..9cc982567 100644 --- a/ledger-tool/src/main.rs +++ b/ledger-tool/src/main.rs @@ -1908,12 +1908,12 @@ fn main() { } } ("verify", Some(arg_matches)) => { - let accounts_index_config = value_t!(arg_matches, "accounts_index_bins", usize) - .ok() - .map(|bins| AccountsIndexConfig { bins: Some(bins) }); - + let mut accounts_index_config = AccountsIndexConfig::default(); + if let Some(bins) = value_t!(matches, "accounts_index_bins", usize).ok() { + accounts_index_config.bins = Some(bins); + } let accounts_db_config = Some(AccountsDbConfig { - index: accounts_index_config, + index: Some(accounts_index_config), accounts_hash_cache_path: Some(ledger_path.clone()), }); diff --git a/runtime/src/accounts_index.rs b/runtime/src/accounts_index.rs index 8324cdbea..21e32a650 100644 --- a/runtime/src/accounts_index.rs +++ b/runtime/src/accounts_index.rs @@ -4112,7 +4112,10 @@ pub mod tests { #[test] #[should_panic(expected = "bins.is_power_of_two()")] + #[allow(clippy::field_reassign_with_default)] fn test_illegal_bins() { - AccountsIndex::::new(Some(AccountsIndexConfig { bins: Some(3) })); + let mut config = AccountsIndexConfig::default(); + config.bins = Some(3); + AccountsIndex::::new(Some(config)); } } diff --git a/validator/src/main.rs b/validator/src/main.rs index e34af4529..ee598272e 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -2487,12 +2487,13 @@ pub fn main() { _ => unreachable!(), }; - let accounts_index_config = value_t!(matches, "accounts_index_bins", usize) - .ok() - .map(|bins| AccountsIndexConfig { bins: Some(bins) }); + let mut accounts_index_config = AccountsIndexConfig::default(); + if let Some(bins) = value_t!(matches, "accounts_index_bins", usize).ok() { + accounts_index_config.bins = Some(bins); + } let accounts_db_config = Some(AccountsDbConfig { - index: accounts_index_config, + index: Some(accounts_index_config), accounts_hash_cache_path: Some(ledger_path.clone()), });