diff --git a/src/replay_stage.rs b/src/replay_stage.rs index 6a2325493e..bebfa47a79 100644 --- a/src/replay_stage.rs +++ b/src/replay_stage.rs @@ -190,7 +190,7 @@ impl ReplayStage { cluster_info: Arc>, exit: Arc, mut current_blob_index: u64, - last_entry_id: Arc>, + last_entry_id: Hash, to_leader_sender: &TvuRotationSender, ledger_signal_receiver: Receiver, leader_scheduler: &Arc>, @@ -200,6 +200,7 @@ impl ReplayStage { let exit_ = exit.clone(); let leader_scheduler_ = leader_scheduler.clone(); let to_leader_sender = to_leader_sender.clone(); + let last_entry_id = Arc::new(RwLock::new(last_entry_id)); let subscriptions_ = subscriptions.clone(); let t_replay = Builder::new() .name("solana-replay-stage".to_string()) @@ -465,7 +466,7 @@ mod test { Arc::new(RwLock::new(cluster_info_me)), exit.clone(), meta.consumed, - Arc::new(RwLock::new(last_entry_id)), + last_entry_id, &rotation_sender, l_receiver, &leader_scheduler, @@ -569,7 +570,7 @@ mod test { cluster_info_me.clone(), exit.clone(), entry_height, - Arc::new(RwLock::new(last_entry_id)), + last_entry_id, &to_leader_sender, l_receiver, &leader_scheduler, @@ -695,7 +696,7 @@ mod test { cluster_info_me.clone(), exit.clone(), meta.consumed, - Arc::new(RwLock::new(last_entry_id)), + last_entry_id, &rotation_tx, l_receiver, &leader_scheduler, diff --git a/src/tvu.rs b/src/tvu.rs index f2523b9cbe..14adb4c165 100644 --- a/src/tvu.rs +++ b/src/tvu.rs @@ -48,7 +48,6 @@ pub struct Tvu { entry_stream_stage: Option, storage_stage: StorageStage, exit: Arc, - last_entry_id: Arc>, } pub struct Sockets { @@ -122,8 +121,6 @@ impl Tvu { exit.clone(), ); - let l_last_entry_id = Arc::new(RwLock::new(last_entry_id)); - let (replay_stage, mut previous_receiver) = ReplayStage::new( keypair.pubkey(), voting_keypair, @@ -132,7 +129,7 @@ impl Tvu { cluster_info.clone(), exit.clone(), blob_index, - l_last_entry_id.clone(), + last_entry_id, to_leader_sender, ledger_signal_receiver, &leader_scheduler, @@ -171,14 +168,9 @@ impl Tvu { entry_stream_stage, storage_stage, exit, - last_entry_id: l_last_entry_id, } } - pub fn get_state(&self) -> Hash { - *self.last_entry_id.read().unwrap() - } - pub fn is_exited(&self) -> bool { self.exit.load(Ordering::Relaxed) }