removes VoteTracker::new in favor of VoteTracker::default (#22941)
VoteTracker::new does not need a bank and is so redundant: https://github.com/solana-labs/solana/blob/5a230f418/core/src/cluster_info_vote_listener.rs#L103-L107
This commit is contained in:
parent
5a230f418d
commit
27aaf9df85
|
@ -100,12 +100,6 @@ pub struct VoteTracker {
|
|||
}
|
||||
|
||||
impl VoteTracker {
|
||||
pub(crate) fn new(root_bank: &Bank) -> Self {
|
||||
let vote_tracker = VoteTracker::default();
|
||||
vote_tracker.progress_with_new_root_bank(root_bank);
|
||||
vote_tracker
|
||||
}
|
||||
|
||||
fn get_or_insert_slot_tracker(&self, slot: Slot) -> Arc<RwLock<SlotVoteTracker>> {
|
||||
if let Some(slot_vote_tracker) = self.slot_vote_trackers.read().unwrap().get(&slot) {
|
||||
return slot_vote_tracker.clone();
|
||||
|
@ -540,17 +534,14 @@ impl ClusterInfoVoteListener {
|
|||
let mut sel = Select::new();
|
||||
sel.recv(gossip_vote_txs_receiver);
|
||||
sel.recv(replay_votes_receiver);
|
||||
let mut remaining_wait_time = 200;
|
||||
loop {
|
||||
if remaining_wait_time == 0 {
|
||||
break;
|
||||
}
|
||||
let mut remaining_wait_time = Duration::from_millis(200);
|
||||
while remaining_wait_time > Duration::ZERO {
|
||||
let start = Instant::now();
|
||||
// Wait for one of the receivers to be ready. `ready_timeout`
|
||||
// will return if channels either have something, or are
|
||||
// disconnected. `ready_timeout` can wake up spuriously,
|
||||
// hence the loop
|
||||
let _ = sel.ready_timeout(Duration::from_millis(remaining_wait_time))?;
|
||||
let _ = sel.ready_timeout(remaining_wait_time)?;
|
||||
|
||||
// Should not early return from this point onwards until `process_votes()`
|
||||
// returns below to avoid missing any potential `optimistic_confirmed_slots`
|
||||
|
@ -568,10 +559,8 @@ impl ClusterInfoVoteListener {
|
|||
bank_notification_sender,
|
||||
cluster_confirmed_slot_sender,
|
||||
));
|
||||
} else {
|
||||
remaining_wait_time = remaining_wait_time
|
||||
.saturating_sub(std::cmp::max(start.elapsed().as_millis() as u64, 1));
|
||||
}
|
||||
remaining_wait_time = remaining_wait_time.saturating_sub(start.elapsed());
|
||||
}
|
||||
Ok(vec![])
|
||||
}
|
||||
|
@ -1374,7 +1363,7 @@ mod tests {
|
|||
let exit = Arc::new(AtomicBool::new(false));
|
||||
let bank_forks = Arc::new(RwLock::new(BankForks::new(bank)));
|
||||
let bank = bank_forks.read().unwrap().get(0).unwrap().clone();
|
||||
let vote_tracker = VoteTracker::new(&bank);
|
||||
let vote_tracker = VoteTracker::default();
|
||||
let optimistically_confirmed_bank =
|
||||
OptimisticallyConfirmedBank::locked_from_bank_forks_root(&bank_forks);
|
||||
let max_complete_transaction_status_slot = Arc::new(AtomicU64::default());
|
||||
|
@ -1481,7 +1470,7 @@ mod tests {
|
|||
vec![100; validator_voting_keypairs.len()],
|
||||
);
|
||||
let bank = Bank::new_for_tests(&genesis_config);
|
||||
let vote_tracker = VoteTracker::new(&bank);
|
||||
let vote_tracker = VoteTracker::default();
|
||||
let exit = Arc::new(AtomicBool::new(false));
|
||||
let bank_forks = Arc::new(RwLock::new(BankForks::new(bank)));
|
||||
let bank = bank_forks.read().unwrap().get(0).unwrap().clone();
|
||||
|
|
|
@ -4478,7 +4478,7 @@ pub mod tests {
|
|||
// runs in `update_propagation_status`
|
||||
assert!(!progress_map.get_leader_propagation_slot_must_exist(10).0);
|
||||
|
||||
let vote_tracker = VoteTracker::new(&bank_forks.root_bank());
|
||||
let vote_tracker = VoteTracker::default();
|
||||
vote_tracker.insert_vote(10, vote_pubkey);
|
||||
ReplayStage::update_propagation_status(
|
||||
&mut progress_map,
|
||||
|
@ -4563,7 +4563,7 @@ pub mod tests {
|
|||
);
|
||||
}
|
||||
|
||||
let vote_tracker = VoteTracker::new(&bank_forks.root_bank());
|
||||
let vote_tracker = VoteTracker::default();
|
||||
for vote_pubkey in &vote_pubkeys {
|
||||
// Insert a vote for the last bank for each voter
|
||||
vote_tracker.insert_vote(10, *vote_pubkey);
|
||||
|
@ -4650,7 +4650,7 @@ pub mod tests {
|
|||
progress_map.insert(i, fork_progress);
|
||||
}
|
||||
|
||||
let vote_tracker = VoteTracker::new(&bank_forks.root_bank());
|
||||
let vote_tracker = VoteTracker::default();
|
||||
// Insert a new vote
|
||||
vote_tracker.insert_vote(10, vote_pubkeys[2]);
|
||||
|
||||
|
|
|
@ -504,7 +504,7 @@ pub mod tests {
|
|||
None,
|
||||
None,
|
||||
None,
|
||||
Arc::new(VoteTracker::new(&bank)),
|
||||
Arc::<VoteTracker>::default(),
|
||||
retransmit_slots_sender,
|
||||
gossip_verified_vote_hash_receiver,
|
||||
verified_vote_receiver,
|
||||
|
|
|
@ -96,7 +96,6 @@ use {
|
|||
std::{
|
||||
collections::{HashMap, HashSet},
|
||||
net::SocketAddr,
|
||||
ops::Deref,
|
||||
path::{Path, PathBuf},
|
||||
sync::{
|
||||
atomic::{AtomicBool, AtomicU64, Ordering},
|
||||
|
@ -805,10 +804,7 @@ impl Validator {
|
|||
"New shred signal for the TVU should be the same as the clear bank signal."
|
||||
);
|
||||
|
||||
let vote_tracker = Arc::new(VoteTracker::new(
|
||||
bank_forks.read().unwrap().root_bank().deref(),
|
||||
));
|
||||
|
||||
let vote_tracker = Arc::<VoteTracker>::default();
|
||||
let mut cost_model = CostModel::default();
|
||||
cost_model.initialize_cost_table(&blockstore.read_program_costs().unwrap());
|
||||
let cost_model = Arc::new(RwLock::new(cost_model));
|
||||
|
|
Loading…
Reference in New Issue