add full_snapshot to hash config (#26811)
This commit is contained in:
parent
2481ebb150
commit
817f65bb50
|
@ -142,6 +142,7 @@ impl AccountsHashVerifier {
|
||||||
epoch_schedule: &accounts_package.epoch_schedule,
|
epoch_schedule: &accounts_package.epoch_schedule,
|
||||||
rent_collector: &accounts_package.rent_collector,
|
rent_collector: &accounts_package.rent_collector,
|
||||||
store_detailed_debug_info_on_failure: false,
|
store_detailed_debug_info_on_failure: false,
|
||||||
|
full_snapshot: None,
|
||||||
},
|
},
|
||||||
&sorted_storages,
|
&sorted_storages,
|
||||||
timings,
|
timings,
|
||||||
|
@ -164,6 +165,7 @@ impl AccountsHashVerifier {
|
||||||
rent_collector: &accounts_package.rent_collector,
|
rent_collector: &accounts_package.rent_collector,
|
||||||
// now that we've failed, store off the failing contents that produced a bad capitalization
|
// now that we've failed, store off the failing contents that produced a bad capitalization
|
||||||
store_detailed_debug_info_on_failure: true,
|
store_detailed_debug_info_on_failure: true,
|
||||||
|
full_snapshot: None,
|
||||||
},
|
},
|
||||||
&sorted_storages,
|
&sorted_storages,
|
||||||
HashStats::default(),
|
HashStats::default(),
|
||||||
|
|
|
@ -241,6 +241,7 @@ impl SnapshotRequestHandler {
|
||||||
epoch_schedule: snapshot_root_bank.epoch_schedule(),
|
epoch_schedule: snapshot_root_bank.epoch_schedule(),
|
||||||
rent_collector: snapshot_root_bank.rent_collector(),
|
rent_collector: snapshot_root_bank.rent_collector(),
|
||||||
store_detailed_debug_info_on_failure: false,
|
store_detailed_debug_info_on_failure: false,
|
||||||
|
full_snapshot: None,
|
||||||
},
|
},
|
||||||
).unwrap();
|
).unwrap();
|
||||||
assert_eq!(previous_hash, this_hash);
|
assert_eq!(previous_hash, this_hash);
|
||||||
|
|
|
@ -6742,6 +6742,7 @@ impl AccountsDb {
|
||||||
epoch_schedule,
|
epoch_schedule,
|
||||||
rent_collector,
|
rent_collector,
|
||||||
store_detailed_debug_info_on_failure: false,
|
store_detailed_debug_info_on_failure: false,
|
||||||
|
full_snapshot: None,
|
||||||
},
|
},
|
||||||
expected_capitalization,
|
expected_capitalization,
|
||||||
)
|
)
|
||||||
|
@ -7023,6 +7024,7 @@ impl AccountsDb {
|
||||||
epoch_schedule,
|
epoch_schedule,
|
||||||
rent_collector,
|
rent_collector,
|
||||||
store_detailed_debug_info_on_failure: false,
|
store_detailed_debug_info_on_failure: false,
|
||||||
|
full_snapshot: None,
|
||||||
},
|
},
|
||||||
None,
|
None,
|
||||||
)?;
|
)?;
|
||||||
|
@ -11626,6 +11628,7 @@ pub mod tests {
|
||||||
epoch_schedule: &EPOCH_SCHEDULE,
|
epoch_schedule: &EPOCH_SCHEDULE,
|
||||||
rent_collector: &RENT_COLLECTOR,
|
rent_collector: &RENT_COLLECTOR,
|
||||||
store_detailed_debug_info_on_failure: false,
|
store_detailed_debug_info_on_failure: false,
|
||||||
|
full_snapshot: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ use {
|
||||||
solana_sdk::{
|
solana_sdk::{
|
||||||
hash::{Hash, Hasher},
|
hash::{Hash, Hasher},
|
||||||
pubkey::Pubkey,
|
pubkey::Pubkey,
|
||||||
|
slot_history::Slot,
|
||||||
sysvar::epoch_schedule::EpochSchedule,
|
sysvar::epoch_schedule::EpochSchedule,
|
||||||
},
|
},
|
||||||
std::{
|
std::{
|
||||||
|
@ -27,6 +28,15 @@ pub struct PreviousPass {
|
||||||
pub lamports: u64,
|
pub lamports: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub struct FullSnapshotAccountsHashInfo {
|
||||||
|
/// accounts hash over all accounts when the full snapshot was taken
|
||||||
|
hash: Hash,
|
||||||
|
/// slot where full snapshot was taken
|
||||||
|
slot: Slot,
|
||||||
|
}
|
||||||
|
|
||||||
/// parameters to calculate accounts hash
|
/// parameters to calculate accounts hash
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct CalcAccountsHashConfig<'a> {
|
pub struct CalcAccountsHashConfig<'a> {
|
||||||
|
@ -45,6 +55,8 @@ pub struct CalcAccountsHashConfig<'a> {
|
||||||
pub rent_collector: &'a RentCollector,
|
pub rent_collector: &'a RentCollector,
|
||||||
/// used for tracking down hash mismatches after the fact
|
/// used for tracking down hash mismatches after the fact
|
||||||
pub store_detailed_debug_info_on_failure: bool,
|
pub store_detailed_debug_info_on_failure: bool,
|
||||||
|
/// `Some` if this is an incremental snapshot which only hashes slots since the base full snapshot
|
||||||
|
pub full_snapshot: Option<FullSnapshotAccountsHashInfo>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> CalcAccountsHashConfig<'a> {
|
impl<'a> CalcAccountsHashConfig<'a> {
|
||||||
|
|
Loading…
Reference in New Issue