Defer tower saving until push_vote(), there's no need to do it sooner (#25374)

This commit is contained in:
Michael Vines 2022-05-19 18:27:58 -07:00 committed by GitHub
parent 83c0dd3637
commit 97efbdc303
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 9 deletions

View File

@ -1796,11 +1796,6 @@ impl ReplayStage {
trace!("handle votable bank {}", bank.slot());
let new_root = tower.record_bank_vote(bank, vote_account_pubkey);
let saved_tower = SavedTower::new(tower, identity_keypair).unwrap_or_else(|err| {
error!("Unable to create saved tower: {:?}", err);
std::process::exit(1);
});
if let Some(new_root) = new_root {
// get the root bank before squash
let root_bank = bank_forks
@ -1873,7 +1868,6 @@ impl ReplayStage {
identity_keypair,
authorized_voter_keypairs,
tower,
saved_tower,
switch_fork_decision,
vote_signatures,
*has_new_vote_been_rooted,
@ -2070,7 +2064,6 @@ impl ReplayStage {
identity_keypair: &Keypair,
authorized_voter_keypairs: &[Arc<Keypair>],
tower: &mut Tower,
saved_tower: SavedTower,
switch_fork_decision: &SwitchForkDecision,
vote_signatures: &mut Vec<Signature>,
has_new_vote_been_rooted: bool,
@ -2095,6 +2088,11 @@ impl ReplayStage {
if let Some(vote_tx) = vote_tx {
tower.refresh_last_vote_tx_blockhash(vote_tx.message.recent_blockhash);
let saved_tower = SavedTower::new(tower, identity_keypair).unwrap_or_else(|err| {
error!("Unable to create saved tower: {:?}", err);
std::process::exit(1);
});
let tower_slots = tower.tower_slots();
voting_sender
.send(VoteOp::PushVote {
@ -5912,7 +5910,6 @@ pub(crate) mod tests {
&identity_keypair,
&my_vote_keypair,
&mut tower,
SavedTower::default(),
&SwitchForkDecision::SameFork,
&mut voted_signatures,
has_new_vote_been_rooted,
@ -5978,7 +5975,6 @@ pub(crate) mod tests {
&identity_keypair,
&my_vote_keypair,
&mut tower,
SavedTower::default(),
&SwitchForkDecision::SameFork,
&mut voted_signatures,
has_new_vote_been_rooted,