Optimize replay waking up (#24051)
* timeout for validator exits * clippy * print backtrace when panic * add backtrace package * increase time out to 30s * debug logging * make rpc complete service non blocking * reduce log level * remove logging * recv_timeout * remove backtrace * remove sleep * wip * remove unused variable * add comments * Update core/src/validator.rs Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com> * Update core/src/validator.rs Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com> * whitespace * more whitespace * fix build * clean up import * add mutex for signal senders in blockstore * remove mut * refactor: extract add signal functions * make blockstore signal private * increase replay wake up channel bounds * reduce replay wakeup signal bound to 1 * reduce log level Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
pub use solana_sdk::clock::Slot;
|
||||
use {
|
||||
crate::poh_service::PohService,
|
||||
crossbeam_channel::{unbounded, Receiver, RecvTimeoutError, SendError, Sender},
|
||||
crossbeam_channel::{unbounded, Receiver, RecvTimeoutError, SendError, Sender, TrySendError},
|
||||
log::*,
|
||||
solana_entry::{entry::Entry, poh::Poh},
|
||||
solana_ledger::{
|
||||
@@ -262,7 +262,15 @@ impl PohRecorder {
|
||||
}
|
||||
|
||||
if let Some(ref signal) = self.clear_bank_signal {
|
||||
let _ = signal.try_send(true);
|
||||
match signal.try_send(true) {
|
||||
Ok(_) => {}
|
||||
Err(TrySendError::Full(_)) => {
|
||||
trace!("replay wake up signal channel is full.")
|
||||
}
|
||||
Err(TrySendError::Disconnected(_)) => {
|
||||
trace!("replay wake up signal channel is disconnected.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user