Slot warping doesn't need to be in new_banks_from_ledger

This commit is contained in:
Michael Vines
2022-03-14 11:12:03 -07:00
parent 2e7ee0f177
commit 17cc095d28

View File

@ -459,7 +459,7 @@ impl Validator {
let ( let (
genesis_config, genesis_config,
bank_forks, mut bank_forks,
blockstore, blockstore,
ledger_signal_receiver, ledger_signal_receiver,
completed_slots_receiver, completed_slots_receiver,
@ -485,6 +485,8 @@ impl Validator {
transaction_notifier, transaction_notifier,
); );
maybe_warp_slot(config, ledger_path, &mut bank_forks, &leader_schedule_cache);
let tower = { let tower = {
let restored_tower = Tower::restore(config.tower_storage.as_ref(), &id); let restored_tower = Tower::restore(config.tower_storage.as_ref(), &id);
if let Ok(tower) = &restored_tower { if let Ok(tower) = &restored_tower {
@ -1354,6 +1356,31 @@ fn new_banks_from_ledger(
let last_full_snapshot_slot = let last_full_snapshot_slot =
last_full_snapshot_slot.or_else(|| starting_snapshot_hashes.map(|x| x.full.hash.0)); last_full_snapshot_slot.or_else(|| starting_snapshot_hashes.map(|x| x.full.hash.0));
if let Some(blockstore_root_scan) = blockstore_root_scan {
if let Err(err) = blockstore_root_scan.join() {
warn!("blockstore_root_scan failed to join {:?}", err);
}
}
(
genesis_config,
bank_forks,
blockstore,
ledger_signal_receiver,
completed_slots_receiver,
leader_schedule_cache,
last_full_snapshot_slot,
starting_snapshot_hashes,
transaction_history_services,
)
}
fn maybe_warp_slot(
config: &ValidatorConfig,
ledger_path: &Path,
bank_forks: &mut BankForks,
leader_schedule_cache: &LeaderScheduleCache,
) {
if let Some(warp_slot) = config.warp_slot { if let Some(warp_slot) = config.warp_slot {
let snapshot_config = config.snapshot_config.as_ref().unwrap_or_else(|| { let snapshot_config = config.snapshot_config.as_ref().unwrap_or_else(|| {
error!("warp slot requires a snapshot config"); error!("warp slot requires a snapshot config");
@ -1402,24 +1429,6 @@ fn new_banks_from_ledger(
full_snapshot_archive_info.path().display() full_snapshot_archive_info.path().display()
); );
} }
if let Some(blockstore_root_scan) = blockstore_root_scan {
if let Err(err) = blockstore_root_scan.join() {
warn!("blockstore_root_scan failed to join {:?}", err);
}
}
(
genesis_config,
bank_forks,
blockstore,
ledger_signal_receiver,
completed_slots_receiver,
leader_schedule_cache,
last_full_snapshot_slot,
starting_snapshot_hashes,
transaction_history_services,
)
} }
fn blockstore_contains_bad_shred_version( fn blockstore_contains_bad_shred_version(