diff --git a/core/src/cache_block_meta_service.rs b/core/src/cache_block_meta_service.rs index b86835204..689bb8005 100644 --- a/core/src/cache_block_meta_service.rs +++ b/core/src/cache_block_meta_service.rs @@ -57,7 +57,7 @@ impl CacheBlockMetaService { Self { thread_hdl } } - fn cache_block_meta(bank: Arc, blockstore: &Arc) { + fn cache_block_meta(bank: Arc, blockstore: &Blockstore) { if let Err(e) = blockstore.cache_block_time(bank.slot(), bank.clock().unix_timestamp) { error!("cache_block_time failed: slot {:?} {:?}", bank.slot(), e); } diff --git a/core/src/ledger_cleanup_service.rs b/core/src/ledger_cleanup_service.rs index f60967e01..80924bf76 100644 --- a/core/src/ledger_cleanup_service.rs +++ b/core/src/ledger_cleanup_service.rs @@ -95,7 +95,7 @@ impl LedgerCleanupService { /// - `total_shreds` (u64): the total estimated number of shreds before the /// `root`. fn find_slots_to_clean( - blockstore: &Arc, + blockstore: &Blockstore, root: Slot, max_ledger_shreds: u64, ) -> (bool, Slot, u64) { diff --git a/core/src/replay_stage.rs b/core/src/replay_stage.rs index 82ad741bd..2efb14512 100644 --- a/core/src/replay_stage.rs +++ b/core/src/replay_stage.rs @@ -2091,7 +2091,7 @@ impl ReplayStage { vote_account_pubkey: &Pubkey, identity_keypair: &Keypair, authorized_voter_keypairs: &[Arc], - blockstore: &Arc, + blockstore: &Blockstore, leader_schedule_cache: &Arc, lockouts_sender: &Sender, accounts_background_request_sender: &AbsRequestSender, diff --git a/core/src/rewards_recorder_service.rs b/core/src/rewards_recorder_service.rs index dda6ec351..b671bfe74 100644 --- a/core/src/rewards_recorder_service.rs +++ b/core/src/rewards_recorder_service.rs @@ -53,7 +53,7 @@ impl RewardsRecorderService { fn write_rewards( rewards_receiver: &RewardsRecorderReceiver, max_complete_rewards_slot: &Arc, - blockstore: &Arc, + blockstore: &Blockstore, ) -> Result<(), RecvTimeoutError> { match rewards_receiver.recv_timeout(Duration::from_secs(1))? { RewardsMessage::Batch((slot, rewards)) => { diff --git a/core/src/sample_performance_service.rs b/core/src/sample_performance_service.rs index 05e6ee366..a2ba724ee 100644 --- a/core/src/sample_performance_service.rs +++ b/core/src/sample_performance_service.rs @@ -21,10 +21,9 @@ pub struct SamplePerformanceService { impl SamplePerformanceService { pub fn new( bank_forks: &Arc>, - blockstore: &Arc, + blockstore: Arc, exit: Arc, ) -> Self { - let blockstore = blockstore.clone(); let bank_forks = bank_forks.clone(); info!("Starting SamplePerformance service"); diff --git a/core/src/tpu.rs b/core/src/tpu.rs index cc45a0d0b..5b6b939f8 100644 --- a/core/src/tpu.rs +++ b/core/src/tpu.rs @@ -89,7 +89,7 @@ impl Tpu { subscriptions: &Arc, transaction_status_sender: Option, entry_notification_sender: Option, - blockstore: &Arc, + blockstore: Arc, broadcast_type: &BroadcastStageType, exit: Arc, shred_version: u16, @@ -254,7 +254,7 @@ impl Tpu { entry_receiver, retransmit_slots_receiver, exit, - blockstore.clone(), + blockstore, bank_forks, shred_version, turbine_quic_endpoint_sender, diff --git a/core/src/validator.rs b/core/src/validator.rs index 70e06d660..89356cee1 100644 --- a/core/src/validator.rs +++ b/core/src/validator.rs @@ -390,12 +390,11 @@ struct BlockstoreRootScan { } impl BlockstoreRootScan { - fn new(config: &ValidatorConfig, blockstore: &Arc, exit: Arc) -> Self { + fn new(config: &ValidatorConfig, blockstore: Arc, exit: Arc) -> Self { let thread = if config.rpc_addrs.is_some() && config.rpc_config.enable_rpc_transaction_history && config.rpc_config.rpc_scan_and_fix_roots { - let blockstore = blockstore.clone(); Some( Builder::new() .name("solBStoreRtScan".to_string()) @@ -822,7 +821,7 @@ impl Validator { if config.rpc_addrs.is_some() && config.rpc_config.enable_rpc_transaction_history { Some(SamplePerformanceService::new( &bank_forks, - &blockstore, + blockstore.clone(), exit.clone(), )) } else { @@ -1222,7 +1221,7 @@ impl Validator { &rpc_subscriptions, transaction_status_sender, entry_notification_sender, - &blockstore, + blockstore.clone(), &config.broadcast_stage_type, exit, node.info.shred_version(), @@ -1645,7 +1644,7 @@ fn load_blockstore( let original_blockstore_root = blockstore.last_root(); let blockstore = Arc::new(blockstore); - let blockstore_root_scan = BlockstoreRootScan::new(config, &blockstore, exit.clone()); + let blockstore_root_scan = BlockstoreRootScan::new(config, blockstore.clone(), exit.clone()); let halt_at_slot = config .halt_at_slot .or_else(|| blockstore.highest_slot().unwrap_or(None)); diff --git a/rpc/src/transaction_status_service.rs b/rpc/src/transaction_status_service.rs index 8fc20fa66..25b03e8b7 100644 --- a/rpc/src/transaction_status_service.rs +++ b/rpc/src/transaction_status_service.rs @@ -61,7 +61,7 @@ impl TransactionStatusService { max_complete_transaction_status_slot: &Arc, enable_rpc_transaction_history: bool, transaction_notifier: Option, - blockstore: &Arc, + blockstore: &Blockstore, enable_extended_tx_metadata_storage: bool, ) -> Result<(), RecvTimeoutError> { match write_transaction_status_receiver.recv_timeout(Duration::from_secs(1))? {