@ -11,6 +11,7 @@ use crate::{
|
|||||||
};
|
};
|
||||||
use solana_ledger::{
|
use solana_ledger::{
|
||||||
bank_forks::BankForks,
|
bank_forks::BankForks,
|
||||||
|
block_error::BlockError,
|
||||||
blockstore::Blockstore,
|
blockstore::Blockstore,
|
||||||
blockstore_processor::{
|
blockstore_processor::{
|
||||||
self, BlockstoreProcessorError, ConfirmationProgress, ConfirmationTiming,
|
self, BlockstoreProcessorError, ConfirmationProgress, ConfirmationTiming,
|
||||||
@ -567,11 +568,19 @@ impl ReplayStage {
|
|||||||
// errors related to the slot being purged
|
// errors related to the slot being purged
|
||||||
let slot = bank.slot();
|
let slot = bank.slot();
|
||||||
warn!("Fatal replay error in slot: {}, err: {:?}", slot, err);
|
warn!("Fatal replay error in slot: {}, err: {:?}", slot, err);
|
||||||
datapoint_error!(
|
if let BlockstoreProcessorError::InvalidBlock(BlockError::InvalidTickCount) = err {
|
||||||
"replay-stage-mark_dead_slot",
|
datapoint_info!(
|
||||||
("error", format!("error: {:?}", err), String),
|
"replay-stage-mark_dead_slot",
|
||||||
("slot", slot, i64)
|
("error", format!("error: {:?}", err), String),
|
||||||
);
|
("slot", slot, i64)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
datapoint_error!(
|
||||||
|
"replay-stage-mark_dead_slot",
|
||||||
|
("error", format!("error: {:?}", err), String),
|
||||||
|
("slot", slot, i64)
|
||||||
|
);
|
||||||
|
}
|
||||||
bank_progress.is_dead = true;
|
bank_progress.is_dead = true;
|
||||||
blockstore
|
blockstore
|
||||||
.set_dead_slot(slot)
|
.set_dead_slot(slot)
|
||||||
@ -1059,7 +1068,6 @@ pub(crate) mod tests {
|
|||||||
use crossbeam_channel::unbounded;
|
use crossbeam_channel::unbounded;
|
||||||
use solana_client::rpc_response::{RpcEncodedTransaction, RpcTransactionWithStatusMeta};
|
use solana_client::rpc_response::{RpcEncodedTransaction, RpcTransactionWithStatusMeta};
|
||||||
use solana_ledger::{
|
use solana_ledger::{
|
||||||
block_error::BlockError,
|
|
||||||
blockstore::make_slot_entries,
|
blockstore::make_slot_entries,
|
||||||
blockstore::{entries_to_test_shreds, BlockstoreError},
|
blockstore::{entries_to_test_shreds, BlockstoreError},
|
||||||
create_new_tmp_ledger,
|
create_new_tmp_ledger,
|
||||||
|
Reference in New Issue
Block a user