From 10d637d2e600f82111825dae11b9019990d646de Mon Sep 17 00:00:00 2001 From: Andrew Fitzgerald Date: Wed, 19 Apr 2023 11:41:18 -0700 Subject: [PATCH] PohRecorder take Arc not &Arc for blockstore (#31234) --- banking-bench/src/main.rs | 2 +- core/benches/banking_stage.rs | 4 +-- core/src/banking_stage.rs | 12 +++---- core/src/banking_stage/consumer.rs | 18 +++++----- core/src/banking_stage/forwarder.rs | 2 +- core/src/replay_stage.rs | 2 +- core/src/tvu.rs | 2 +- core/src/validator.rs | 2 +- poh/src/poh_recorder.rs | 52 ++++++++++++++--------------- poh/src/poh_service.rs | 2 +- rpc/src/cluster_tpu_info.rs | 2 +- 11 files changed, 50 insertions(+), 50 deletions(-) diff --git a/banking-bench/src/main.rs b/banking-bench/src/main.rs index 3b333aeb05..3f14cef631 100644 --- a/banking-bench/src/main.rs +++ b/banking-bench/src/main.rs @@ -417,7 +417,7 @@ fn main() { ); let leader_schedule_cache = Arc::new(LeaderScheduleCache::new_from_bank(&bank)); let (exit, poh_recorder, poh_service, signal_receiver) = - create_test_recorder(&bank, &blockstore, None, Some(leader_schedule_cache)); + create_test_recorder(&bank, blockstore.clone(), None, Some(leader_schedule_cache)); let (banking_tracer, tracer_thread) = BankingTracer::new(matches.is_present("trace_banking").then_some(( &blockstore.banking_trace_path(), diff --git a/core/benches/banking_stage.rs b/core/benches/banking_stage.rs index bcb887e70e..e227a8b020 100644 --- a/core/benches/banking_stage.rs +++ b/core/benches/banking_stage.rs @@ -81,7 +81,7 @@ fn bench_consume_buffered(bencher: &mut Bencher) { Blockstore::open(&ledger_path).expect("Expected to be able to open database ledger"), ); let (exit, poh_recorder, poh_service, _signal_receiver) = - create_test_recorder(&bank, &blockstore, None, None); + create_test_recorder(&bank, blockstore, None, None); let recorder = poh_recorder.read().unwrap().new_recorder(); let bank_start = poh_recorder.read().unwrap().bank_start().unwrap(); @@ -271,7 +271,7 @@ fn bench_banking(bencher: &mut Bencher, tx_type: TransactionType) { Blockstore::open(&ledger_path).expect("Expected to be able to open database ledger"), ); let (exit, poh_recorder, poh_service, signal_receiver) = - create_test_recorder(&bank, &blockstore, None, None); + create_test_recorder(&bank, blockstore, None, None); let cluster_info = { let keypair = Arc::new(Keypair::new()); let node = Node::new_localhost_with_pubkey(&keypair.pubkey()); diff --git a/core/src/banking_stage.rs b/core/src/banking_stage.rs index e47f919186..065cf08e92 100644 --- a/core/src/banking_stage.rs +++ b/core/src/banking_stage.rs @@ -634,7 +634,7 @@ mod tests { .expect("Expected to be able to open database ledger"), ); let (exit, poh_recorder, poh_service, _entry_receiever) = - create_test_recorder(&bank, &blockstore, None, None); + create_test_recorder(&bank, blockstore, None, None); let (_, cluster_info) = new_test_cluster_info(/*keypair:*/ None); let cluster_info = Arc::new(cluster_info); let (replay_vote_sender, _replay_vote_receiver) = unbounded(); @@ -690,7 +690,7 @@ mod tests { ..PohConfig::default() }; let (exit, poh_recorder, poh_service, entry_receiver) = - create_test_recorder(&bank, &blockstore, Some(poh_config), None); + create_test_recorder(&bank, blockstore, Some(poh_config), None); let (_, cluster_info) = new_test_cluster_info(/*keypair:*/ None); let cluster_info = Arc::new(cluster_info); let (replay_vote_sender, _replay_vote_receiver) = unbounded(); @@ -771,7 +771,7 @@ mod tests { ..PohConfig::default() }; let (exit, poh_recorder, poh_service, entry_receiver) = - create_test_recorder(&bank, &blockstore, Some(poh_config), None); + create_test_recorder(&bank, blockstore, Some(poh_config), None); let (_, cluster_info) = new_test_cluster_info(/*keypair:*/ None); let cluster_info = Arc::new(cluster_info); let (replay_vote_sender, _replay_vote_receiver) = unbounded(); @@ -934,7 +934,7 @@ mod tests { ..PohConfig::default() }; let (exit, poh_recorder, poh_service, entry_receiver) = - create_test_recorder(&bank, &blockstore, Some(poh_config), None); + create_test_recorder(&bank, blockstore, Some(poh_config), None); let (_, cluster_info) = new_test_cluster_info(/*keypair:*/ None); let cluster_info = Arc::new(cluster_info); let _banking_stage = BankingStage::new_num_threads( @@ -1008,7 +1008,7 @@ mod tests { None, bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1127,7 +1127,7 @@ mod tests { ..PohConfig::default() }; let (exit, poh_recorder, poh_service, _entry_receiver) = - create_test_recorder(&bank, &blockstore, Some(poh_config), None); + create_test_recorder(&bank, blockstore, Some(poh_config), None); let (_, cluster_info) = new_test_cluster_info(/*keypair:*/ None); let cluster_info = Arc::new(cluster_info); let (replay_vote_sender, _replay_vote_receiver) = unbounded(); diff --git a/core/src/banking_stage/consumer.rs b/core/src/banking_stage/consumer.rs index 0d4c1490c6..78be37b13e 100644 --- a/core/src/banking_stage/consumer.rs +++ b/core/src/banking_stage/consumer.rs @@ -739,7 +739,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::new_unique(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -828,7 +828,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &solana_sdk::pubkey::new_rand(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), exit, @@ -884,7 +884,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &pubkey, - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1011,7 +1011,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &pubkey, - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1083,7 +1083,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &pubkey, - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1204,7 +1204,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &pubkey, - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1401,7 +1401,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &solana_sdk::pubkey::new_rand(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1502,7 +1502,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &pubkey, - &blockstore, + blockstore.clone(), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1640,7 +1640,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::new_unique(), - &blockstore, + blockstore.clone(), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), diff --git a/core/src/banking_stage/forwarder.rs b/core/src/banking_stage/forwarder.rs index d9a45a23d9..f278ad6a42 100644 --- a/core/src/banking_stage/forwarder.rs +++ b/core/src/banking_stage/forwarder.rs @@ -318,7 +318,7 @@ mod tests { }; let (exit, poh_recorder, poh_service, _entry_receiver) = - create_test_recorder(&bank, &blockstore, Some(poh_config), None); + create_test_recorder(&bank, blockstore, Some(poh_config), None); let (local_node, cluster_info) = new_test_cluster_info(Some(validator_keypair)); let cluster_info = Arc::new(cluster_info); diff --git a/core/src/replay_stage.rs b/core/src/replay_stage.rs index 06b107d728..8806ecbca5 100644 --- a/core/src/replay_stage.rs +++ b/core/src/replay_stage.rs @@ -3834,7 +3834,7 @@ pub(crate) mod tests { None, working_bank.ticks_per_slot(), &Pubkey::default(), - &blockstore, + blockstore.clone(), &leader_schedule_cache, &PohConfig::default(), Arc::new(AtomicBool::new(false)), diff --git a/core/src/tvu.rs b/core/src/tvu.rs index ca4cd961fc..69a535cc1b 100644 --- a/core/src/tvu.rs +++ b/core/src/tvu.rs @@ -413,7 +413,7 @@ pub mod tests { let blockstore = Arc::new(blockstore); let bank = bank_forks.working_bank(); let (exit, poh_recorder, poh_service, _entry_receiver) = - create_test_recorder(&bank, &blockstore, None, None); + create_test_recorder(&bank, blockstore.clone(), None, None); let vote_keypair = Keypair::new(); let leader_schedule_cache = Arc::new(LeaderScheduleCache::new_from_bank(&bank)); let block_commitment_cache = Arc::new(RwLock::new(BlockCommitmentCache::default())); diff --git a/core/src/validator.rs b/core/src/validator.rs index 844177c836..5d10d0fd61 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -835,7 +835,7 @@ impl Validator { None, bank.ticks_per_slot(), &id, - &blockstore, + blockstore.clone(), blockstore.get_new_shred_signal(0), &leader_schedule_cache, &genesis_config.poh_config, diff --git a/poh/src/poh_recorder.rs b/poh/src/poh_recorder.rs index 3abd9ae57f..5e02b87f13 100644 --- a/poh/src/poh_recorder.rs +++ b/poh/src/poh_recorder.rs @@ -909,7 +909,7 @@ impl PohRecorder { next_leader_slot: Option<(Slot, Slot)>, ticks_per_slot: u64, id: &Pubkey, - blockstore: &Arc, + blockstore: Arc, clear_bank_signal: Option>, leader_schedule_cache: &Arc, poh_config: &PohConfig, @@ -946,7 +946,7 @@ impl PohRecorder { leader_last_tick_height, grace_ticks, id: *id, - blockstore: blockstore.clone(), + blockstore, leader_schedule_cache: leader_schedule_cache.clone(), ticks_per_slot, target_ns_per_tick, @@ -980,7 +980,7 @@ impl PohRecorder { next_leader_slot: Option<(Slot, Slot)>, ticks_per_slot: u64, id: &Pubkey, - blockstore: &Arc, + blockstore: Arc, leader_schedule_cache: &Arc, poh_config: &PohConfig, is_exited: Arc, @@ -1030,7 +1030,7 @@ impl PohRecorder { pub fn create_test_recorder( bank: &Arc, - blockstore: &Arc, + blockstore: Arc, poh_config: Option, leader_schedule_cache: Option>, ) -> ( @@ -1101,7 +1101,7 @@ mod tests { Some((4, 4)), DEFAULT_TICKS_PER_SLOT, &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1131,7 +1131,7 @@ mod tests { Some((4, 4)), DEFAULT_TICKS_PER_SLOT, &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1160,7 +1160,7 @@ mod tests { Some((4, 4)), DEFAULT_TICKS_PER_SLOT, &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1189,7 +1189,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1219,7 +1219,7 @@ mod tests { Some((4, 4)), bank0.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank0)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1282,7 +1282,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1331,7 +1331,7 @@ mod tests { Some((4, 4)), bank0.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank0)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1374,7 +1374,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1416,7 +1416,7 @@ mod tests { Some((4, 4)), bank0.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank0)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1472,7 +1472,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1512,7 +1512,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1584,7 +1584,7 @@ mod tests { Some((4, 4)), bank0.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank0)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1640,7 +1640,7 @@ mod tests { Some((4, 4)), DEFAULT_TICKS_PER_SLOT, &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1669,7 +1669,7 @@ mod tests { Some((4, 4)), DEFAULT_TICKS_PER_SLOT, &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1700,7 +1700,7 @@ mod tests { Some((4, 4)), DEFAULT_TICKS_PER_SLOT, &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1734,7 +1734,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1765,7 +1765,7 @@ mod tests { None, bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), Some(sender), &Arc::new(LeaderScheduleCache::default()), &PohConfig::default(), @@ -1801,7 +1801,7 @@ mod tests { Some((4, 4)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1849,7 +1849,7 @@ mod tests { None, bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &leader_schedule_cache, &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -1912,7 +1912,7 @@ mod tests { None, bank0.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank0)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -2073,7 +2073,7 @@ mod tests { None, bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), @@ -2125,7 +2125,7 @@ mod tests { Some((2, 2)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()), diff --git a/poh/src/poh_service.rs b/poh/src/poh_service.rs index 9a72ad837b..dc9e172609 100644 --- a/poh/src/poh_service.rs +++ b/poh/src/poh_service.rs @@ -431,7 +431,7 @@ mod tests { Some((4, 4)), ticks_per_slot, &Pubkey::default(), - &blockstore, + blockstore, &leader_schedule_cache, &poh_config, exit.clone(), diff --git a/rpc/src/cluster_tpu_info.rs b/rpc/src/cluster_tpu_info.rs index 3c4195913a..b3f98f1cdb 100644 --- a/rpc/src/cluster_tpu_info.rs +++ b/rpc/src/cluster_tpu_info.rs @@ -106,7 +106,7 @@ mod test { Some((2, 2)), bank.ticks_per_slot(), &Pubkey::default(), - &Arc::new(blockstore), + Arc::new(blockstore), &Arc::new(LeaderScheduleCache::new_from_bank(&bank)), &PohConfig::default(), Arc::new(AtomicBool::default()),