Renames AccountsPackageType to AccountsPackageKind (#32908)
This commit is contained in:
parent
910b0f5d12
commit
a8c1dabf6a
|
@ -19,7 +19,7 @@ use {
|
|||
serde_snapshot::BankIncrementalSnapshotPersistence,
|
||||
snapshot_config::SnapshotConfig,
|
||||
snapshot_package::{
|
||||
self, retain_max_n_elements, AccountsPackage, AccountsPackageType, SnapshotKind,
|
||||
self, retain_max_n_elements, AccountsPackage, AccountsPackageKind, SnapshotKind,
|
||||
SnapshotPackage,
|
||||
},
|
||||
snapshot_utils,
|
||||
|
@ -171,7 +171,7 @@ impl AccountsHashVerifier {
|
|||
let num_eah_packages = accounts_packages
|
||||
.iter()
|
||||
.filter(|account_package| {
|
||||
account_package.package_type == AccountsPackageType::EpochAccountsHash
|
||||
account_package.package_kind == AccountsPackageKind::EpochAccountsHash
|
||||
})
|
||||
.count();
|
||||
assert!(
|
||||
|
@ -199,8 +199,8 @@ impl AccountsHashVerifier {
|
|||
// be at most one EpochAccountsHash request, so `y` is the only other request we
|
||||
// need to check. If `y` is a FullSnapshot request *with a lower slot* than `z`,
|
||||
// then handle `y` first.
|
||||
let accounts_package = if z.package_type == AccountsPackageType::EpochAccountsHash
|
||||
&& y.package_type == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
let accounts_package = if z.package_kind == AccountsPackageKind::EpochAccountsHash
|
||||
&& y.package_kind == AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
&& y.slot < z.slot
|
||||
{
|
||||
// SAFETY: We know the len is > 1, so both `pop`s will return `Some`
|
||||
|
@ -274,10 +274,10 @@ impl AccountsHashVerifier {
|
|||
accounts_package: &AccountsPackage,
|
||||
snapshot_config: &SnapshotConfig,
|
||||
) -> AccountsHashKind {
|
||||
let accounts_hash_calculation_kind = match accounts_package.package_type {
|
||||
AccountsPackageType::AccountsHashVerifier => CalcAccountsHashKind::Full,
|
||||
AccountsPackageType::EpochAccountsHash => CalcAccountsHashKind::Full,
|
||||
AccountsPackageType::Snapshot(snapshot_kind) => match snapshot_kind {
|
||||
let accounts_hash_calculation_kind = match accounts_package.package_kind {
|
||||
AccountsPackageKind::AccountsHashVerifier => CalcAccountsHashKind::Full,
|
||||
AccountsPackageKind::EpochAccountsHash => CalcAccountsHashKind::Full,
|
||||
AccountsPackageKind::Snapshot(snapshot_kind) => match snapshot_kind {
|
||||
SnapshotKind::FullSnapshot => CalcAccountsHashKind::Full,
|
||||
SnapshotKind::IncrementalSnapshot(_) => {
|
||||
if accounts_package.is_incremental_accounts_hash_feature_enabled {
|
||||
|
@ -300,8 +300,8 @@ impl AccountsHashVerifier {
|
|||
(accounts_hash.into(), accounts_hash, None)
|
||||
}
|
||||
CalcAccountsHashKind::Incremental => {
|
||||
let AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(base_slot)) =
|
||||
accounts_package.package_type
|
||||
let AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(base_slot)) =
|
||||
accounts_package.package_kind
|
||||
else {
|
||||
panic!("Calculating incremental accounts hash requires a base slot");
|
||||
};
|
||||
|
@ -336,8 +336,8 @@ impl AccountsHashVerifier {
|
|||
);
|
||||
}
|
||||
|
||||
if accounts_package.package_type
|
||||
== AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
if accounts_package.package_kind
|
||||
== AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
{
|
||||
accounts_package
|
||||
.accounts
|
||||
|
@ -505,7 +505,7 @@ impl AccountsHashVerifier {
|
|||
accounts_package: &AccountsPackage,
|
||||
accounts_hash: AccountsHashKind,
|
||||
) {
|
||||
if accounts_package.package_type == AccountsPackageType::EpochAccountsHash {
|
||||
if accounts_package.package_kind == AccountsPackageKind::EpochAccountsHash {
|
||||
let AccountsHashKind::Full(accounts_hash) = accounts_hash else {
|
||||
panic!("EAH requires a full accounts hash!");
|
||||
};
|
||||
|
@ -547,8 +547,8 @@ impl AccountsHashVerifier {
|
|||
) {
|
||||
if !snapshot_config.should_generate_snapshots()
|
||||
|| !matches!(
|
||||
accounts_package.package_type,
|
||||
AccountsPackageType::Snapshot(_)
|
||||
accounts_package.package_kind,
|
||||
AccountsPackageKind::Snapshot(_)
|
||||
)
|
||||
{
|
||||
return;
|
||||
|
@ -654,31 +654,31 @@ mod tests {
|
|||
);
|
||||
}
|
||||
|
||||
fn new(package_type: AccountsPackageType, slot: Slot) -> AccountsPackage {
|
||||
fn new(package_kind: AccountsPackageKind, slot: Slot) -> AccountsPackage {
|
||||
AccountsPackage {
|
||||
package_type,
|
||||
package_kind,
|
||||
slot,
|
||||
block_height: slot,
|
||||
..AccountsPackage::default_for_tests()
|
||||
}
|
||||
}
|
||||
fn new_eah(slot: Slot) -> AccountsPackage {
|
||||
new(AccountsPackageType::EpochAccountsHash, slot)
|
||||
new(AccountsPackageKind::EpochAccountsHash, slot)
|
||||
}
|
||||
fn new_fss(slot: Slot) -> AccountsPackage {
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
slot,
|
||||
)
|
||||
}
|
||||
fn new_iss(slot: Slot, base: Slot) -> AccountsPackage {
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(base)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(base)),
|
||||
slot,
|
||||
)
|
||||
}
|
||||
fn new_ahv(slot: Slot) -> AccountsPackage {
|
||||
new(AccountsPackageType::AccountsHashVerifier, slot)
|
||||
new(AccountsPackageKind::AccountsHashVerifier, slot)
|
||||
}
|
||||
|
||||
/// Ensure that unhandled accounts packages are properly re-enqueued or dropped
|
||||
|
@ -732,8 +732,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::EpochAccountsHash
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::EpochAccountsHash
|
||||
);
|
||||
assert_eq!(account_package.slot, 200);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 15);
|
||||
|
@ -750,8 +750,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
);
|
||||
assert_eq!(account_package.slot, 400);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 7);
|
||||
|
@ -768,8 +768,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(400))
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(400))
|
||||
);
|
||||
assert_eq!(account_package.slot, 420);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 3);
|
||||
|
@ -786,8 +786,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::AccountsHashVerifier
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::AccountsHashVerifier
|
||||
);
|
||||
assert_eq!(account_package.slot, 423);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 0);
|
||||
|
@ -841,8 +841,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
);
|
||||
assert_eq!(account_package.slot, 100);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 10);
|
||||
|
@ -858,8 +858,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::EpochAccountsHash
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::EpochAccountsHash
|
||||
);
|
||||
assert_eq!(account_package.slot, 200);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 6);
|
||||
|
@ -876,8 +876,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(100))
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(100))
|
||||
);
|
||||
assert_eq!(account_package.slot, 220);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 2);
|
||||
|
@ -894,8 +894,8 @@ mod tests {
|
|||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
account_package.package_type,
|
||||
AccountsPackageType::AccountsHashVerifier
|
||||
account_package.package_kind,
|
||||
AccountsPackageKind::AccountsHashVerifier
|
||||
);
|
||||
assert_eq!(account_package.slot, 222);
|
||||
assert_eq!(num_re_enqueued_accounts_packages, 0);
|
||||
|
|
|
@ -30,7 +30,7 @@ use {
|
|||
snapshot_bank_utils::{self, DISABLED_SNAPSHOT_ARCHIVE_INTERVAL},
|
||||
snapshot_config::SnapshotConfig,
|
||||
snapshot_hash::SnapshotHash,
|
||||
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotKind, SnapshotPackage},
|
||||
snapshot_package::{AccountsPackage, AccountsPackageKind, SnapshotKind, SnapshotPackage},
|
||||
snapshot_utils::{
|
||||
self,
|
||||
SnapshotVersion::{self, V1_2_0},
|
||||
|
@ -244,7 +244,7 @@ fn run_bank_forks_snapshot_n<F>(
|
|||
let last_bank_snapshot_info = snapshot_utils::get_highest_bank_snapshot_pre(bank_snapshots_dir)
|
||||
.expect("no bank snapshots found in path");
|
||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
&last_bank,
|
||||
&last_bank_snapshot_info,
|
||||
&snapshot_config.full_snapshot_archives_dir,
|
||||
|
@ -412,7 +412,7 @@ fn test_concurrent_snapshot_packaging(
|
|||
)
|
||||
.unwrap();
|
||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
&bank,
|
||||
&bank_snapshot_info,
|
||||
full_snapshot_archives_dir,
|
||||
|
|
|
@ -9,7 +9,7 @@ use {
|
|||
bank_forks::BankForks,
|
||||
snapshot_bank_utils,
|
||||
snapshot_config::SnapshotConfig,
|
||||
snapshot_package::{self, AccountsPackage, AccountsPackageType, SnapshotKind},
|
||||
snapshot_package::{self, AccountsPackage, AccountsPackageKind, SnapshotKind},
|
||||
snapshot_utils::{self, SnapshotError},
|
||||
},
|
||||
crossbeam_channel::{Receiver, SendError, Sender},
|
||||
|
@ -157,7 +157,7 @@ impl SnapshotRequestHandler {
|
|||
) -> Option<Result<u64, SnapshotError>> {
|
||||
let (
|
||||
snapshot_request,
|
||||
accounts_package_type,
|
||||
accounts_package_kind,
|
||||
num_outstanding_requests,
|
||||
num_re_enqueued_requests,
|
||||
) = self.get_next_snapshot_request(*last_full_snapshot_slot)?;
|
||||
|
@ -178,7 +178,7 @@ impl SnapshotRequestHandler {
|
|||
non_snapshot_time_us,
|
||||
last_full_snapshot_slot,
|
||||
snapshot_request,
|
||||
accounts_package_type,
|
||||
accounts_package_kind,
|
||||
exit,
|
||||
))
|
||||
}
|
||||
|
@ -197,7 +197,7 @@ impl SnapshotRequestHandler {
|
|||
last_full_snapshot_slot: Option<Slot>,
|
||||
) -> Option<(
|
||||
SnapshotRequest,
|
||||
AccountsPackageType,
|
||||
AccountsPackageKind,
|
||||
/*num outstanding snapshot requests*/ usize,
|
||||
/*num re-enqueued snapshot requests*/ usize,
|
||||
)> {
|
||||
|
@ -205,12 +205,12 @@ impl SnapshotRequestHandler {
|
|||
.snapshot_request_receiver
|
||||
.try_iter()
|
||||
.map(|request| {
|
||||
let accounts_package_type = new_accounts_package_type(
|
||||
let accounts_package_kind = new_accounts_package_kind(
|
||||
&request,
|
||||
&self.snapshot_config,
|
||||
last_full_snapshot_slot,
|
||||
);
|
||||
(request, accounts_package_type)
|
||||
(request, accounts_package_kind)
|
||||
})
|
||||
.collect();
|
||||
let requests_len = requests.len();
|
||||
|
@ -222,14 +222,14 @@ impl SnapshotRequestHandler {
|
|||
0 => None,
|
||||
1 => {
|
||||
// SAFETY: We know the len is 1, so `pop` will return `Some`
|
||||
let (snapshot_request, accounts_package_type) = requests.pop().unwrap();
|
||||
Some((snapshot_request, accounts_package_type, 1, 0))
|
||||
let (snapshot_request, accounts_package_kind) = requests.pop().unwrap();
|
||||
Some((snapshot_request, accounts_package_kind, 1, 0))
|
||||
}
|
||||
_ => {
|
||||
let num_eah_requests = requests
|
||||
.iter()
|
||||
.filter(|(_, account_package_type)| {
|
||||
*account_package_type == AccountsPackageType::EpochAccountsHash
|
||||
.filter(|(_, account_package_kind)| {
|
||||
*account_package_kind == AccountsPackageKind::EpochAccountsHash
|
||||
})
|
||||
.count();
|
||||
assert!(
|
||||
|
@ -255,9 +255,9 @@ impl SnapshotRequestHandler {
|
|||
// be at most one EpochAccountsHash request, so `y` is the only other request we
|
||||
// need to check. If `y` is a FullSnapshot request *with a lower slot* than `z`,
|
||||
// then handle `y` first.
|
||||
let (snapshot_request, accounts_package_type) = if z.1
|
||||
== AccountsPackageType::EpochAccountsHash
|
||||
&& y.1 == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
let (snapshot_request, accounts_package_kind) = if z.1
|
||||
== AccountsPackageKind::EpochAccountsHash
|
||||
&& y.1 == AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
&& y.0.snapshot_root_bank.slot() < z.0.snapshot_root_bank.slot()
|
||||
{
|
||||
// SAFETY: We know the len is > 1, so both `pop`s will return `Some`
|
||||
|
@ -286,7 +286,7 @@ impl SnapshotRequestHandler {
|
|||
|
||||
Some((
|
||||
snapshot_request,
|
||||
accounts_package_type,
|
||||
accounts_package_kind,
|
||||
requests_len,
|
||||
num_re_enqueued_requests,
|
||||
))
|
||||
|
@ -300,12 +300,12 @@ impl SnapshotRequestHandler {
|
|||
non_snapshot_time_us: u128,
|
||||
last_full_snapshot_slot: &mut Option<Slot>,
|
||||
snapshot_request: SnapshotRequest,
|
||||
accounts_package_type: AccountsPackageType,
|
||||
accounts_package_kind: AccountsPackageKind,
|
||||
exit: &AtomicBool,
|
||||
) -> Result<u64, SnapshotError> {
|
||||
debug!(
|
||||
"handling snapshot request: {:?}, {:?}",
|
||||
snapshot_request, accounts_package_type
|
||||
snapshot_request, accounts_package_kind
|
||||
);
|
||||
let mut total_time = Measure::start("snapshot_request_receiver_total_time");
|
||||
let SnapshotRequest {
|
||||
|
@ -318,7 +318,7 @@ impl SnapshotRequestHandler {
|
|||
// we should not rely on the state of this validator until startup verification is complete
|
||||
assert!(snapshot_root_bank.is_startup_verification_complete());
|
||||
|
||||
if accounts_package_type == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot) {
|
||||
if accounts_package_kind == AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot) {
|
||||
*last_full_snapshot_slot = Some(snapshot_root_bank.slot());
|
||||
}
|
||||
|
||||
|
@ -389,8 +389,8 @@ impl SnapshotRequestHandler {
|
|||
let mut snapshot_time = Measure::start("snapshot_time");
|
||||
let snapshot_storages = snapshot_bank_utils::get_snapshot_storages(&snapshot_root_bank);
|
||||
let accounts_package = match request_kind {
|
||||
SnapshotRequestKind::Snapshot => match &accounts_package_type {
|
||||
AccountsPackageType::Snapshot(_) => {
|
||||
SnapshotRequestKind::Snapshot => match &accounts_package_kind {
|
||||
AccountsPackageKind::Snapshot(_) => {
|
||||
let bank_snapshot_info = snapshot_bank_utils::add_bank_snapshot(
|
||||
&self.snapshot_config.bank_snapshots_dir,
|
||||
&snapshot_root_bank,
|
||||
|
@ -399,7 +399,7 @@ impl SnapshotRequestHandler {
|
|||
status_cache_slot_deltas,
|
||||
)?;
|
||||
AccountsPackage::new_for_snapshot(
|
||||
accounts_package_type,
|
||||
accounts_package_kind,
|
||||
&snapshot_root_bank,
|
||||
&bank_snapshot_info,
|
||||
&self.snapshot_config.full_snapshot_archives_dir,
|
||||
|
@ -410,21 +410,21 @@ impl SnapshotRequestHandler {
|
|||
accounts_hash_for_testing,
|
||||
)
|
||||
}
|
||||
AccountsPackageType::AccountsHashVerifier => {
|
||||
AccountsPackageKind::AccountsHashVerifier => {
|
||||
// skip the bank snapshot, just make an accounts package to send to AHV
|
||||
AccountsPackage::new_for_accounts_hash_verifier(
|
||||
accounts_package_type,
|
||||
accounts_package_kind,
|
||||
&snapshot_root_bank,
|
||||
snapshot_storages,
|
||||
accounts_hash_for_testing,
|
||||
)
|
||||
}
|
||||
AccountsPackageType::EpochAccountsHash => panic!("Illegal account package type: EpochAccountsHash packages must be from an EpochAccountsHash request!"),
|
||||
AccountsPackageKind::EpochAccountsHash => panic!("Illegal account package type: EpochAccountsHash packages must be from an EpochAccountsHash request!"),
|
||||
},
|
||||
SnapshotRequestKind::EpochAccountsHash => {
|
||||
// skip the bank snapshot, just make an accounts package to send to AHV
|
||||
AccountsPackage::new_for_epoch_accounts_hash(
|
||||
accounts_package_type,
|
||||
accounts_package_kind,
|
||||
&snapshot_root_bank,
|
||||
snapshot_storages,
|
||||
accounts_hash_for_testing,
|
||||
|
@ -442,8 +442,8 @@ impl SnapshotRequestHandler {
|
|||
}
|
||||
snapshot_time.stop();
|
||||
info!(
|
||||
"Took bank snapshot. accounts package type: {:?}, slot: {}, bank hash: {}",
|
||||
accounts_package_type,
|
||||
"Took bank snapshot. accounts package kind: {:?}, slot: {}, bank hash: {}",
|
||||
accounts_package_kind,
|
||||
snapshot_root_bank.slot(),
|
||||
snapshot_root_bank.hash(),
|
||||
);
|
||||
|
@ -734,32 +734,32 @@ impl AccountsBackgroundService {
|
|||
}
|
||||
}
|
||||
|
||||
/// Get the AccountsPackageType from a given SnapshotRequest
|
||||
/// Get the AccountsPackageKind from a given SnapshotRequest
|
||||
#[must_use]
|
||||
fn new_accounts_package_type(
|
||||
fn new_accounts_package_kind(
|
||||
snapshot_request: &SnapshotRequest,
|
||||
snapshot_config: &SnapshotConfig,
|
||||
last_full_snapshot_slot: Option<Slot>,
|
||||
) -> AccountsPackageType {
|
||||
) -> AccountsPackageKind {
|
||||
let block_height = snapshot_request.snapshot_root_bank.block_height();
|
||||
match snapshot_request.request_kind {
|
||||
SnapshotRequestKind::EpochAccountsHash => AccountsPackageType::EpochAccountsHash,
|
||||
SnapshotRequestKind::EpochAccountsHash => AccountsPackageKind::EpochAccountsHash,
|
||||
_ => {
|
||||
if snapshot_utils::should_take_full_snapshot(
|
||||
block_height,
|
||||
snapshot_config.full_snapshot_archive_interval_slots,
|
||||
) {
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
} else if snapshot_utils::should_take_incremental_snapshot(
|
||||
block_height,
|
||||
snapshot_config.incremental_snapshot_archive_interval_slots,
|
||||
last_full_snapshot_slot,
|
||||
) {
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(
|
||||
last_full_snapshot_slot.unwrap(),
|
||||
))
|
||||
} else {
|
||||
AccountsPackageType::AccountsHashVerifier
|
||||
AccountsPackageKind::AccountsHashVerifier
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -773,19 +773,19 @@ fn new_accounts_package_type(
|
|||
/// - Incremental Snapshot
|
||||
/// - Accounts Hash Verifier
|
||||
///
|
||||
/// If two requests of the same type are being compared, their bank slots are the tiebreaker.
|
||||
/// If two requests of the same kind are being compared, their bank slots are the tiebreaker.
|
||||
#[must_use]
|
||||
fn cmp_requests_by_priority(
|
||||
a: &(SnapshotRequest, AccountsPackageType),
|
||||
b: &(SnapshotRequest, AccountsPackageType),
|
||||
a: &(SnapshotRequest, AccountsPackageKind),
|
||||
b: &(SnapshotRequest, AccountsPackageKind),
|
||||
) -> std::cmp::Ordering {
|
||||
let (snapshot_request_a, accounts_package_type_a) = a;
|
||||
let (snapshot_request_b, accounts_package_type_b) = b;
|
||||
let (snapshot_request_a, accounts_package_kind_a) = a;
|
||||
let (snapshot_request_b, accounts_package_kind_b) = b;
|
||||
let slot_a = snapshot_request_a.snapshot_root_bank.slot();
|
||||
let slot_b = snapshot_request_b.snapshot_root_bank.slot();
|
||||
snapshot_package::cmp_accounts_package_types_by_priority(
|
||||
accounts_package_type_a,
|
||||
accounts_package_type_b,
|
||||
snapshot_package::cmp_accounts_package_kinds_by_priority(
|
||||
accounts_package_kind_a,
|
||||
accounts_package_kind_b,
|
||||
)
|
||||
.then(slot_a.cmp(&slot_b))
|
||||
}
|
||||
|
@ -929,45 +929,45 @@ mod test {
|
|||
make_banks(303);
|
||||
|
||||
// Ensure the EAH is handled 1st
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(None)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::EpochAccountsHash
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::EpochAccountsHash
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 100);
|
||||
|
||||
// Ensure the full snapshot from slot 240 is handled 2nd
|
||||
// (the older full snapshots are skipped and dropped)
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(None)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 240);
|
||||
|
||||
// Ensure the incremental snapshot from slot 300 is handled 3rd
|
||||
// (the older incremental snapshots are skipped and dropped)
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(Some(240))
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(240))
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(240))
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 300);
|
||||
|
||||
// Ensure the accounts hash verifier from slot 303 is handled 4th
|
||||
// (the older accounts hash verifiers are skipped and dropped)
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(Some(240))
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::AccountsHashVerifier
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::AccountsHashVerifier
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 303);
|
||||
|
||||
|
@ -992,42 +992,42 @@ mod test {
|
|||
make_banks(240);
|
||||
|
||||
// Ensure the full snapshot is handled 1st
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(None)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot)
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 480);
|
||||
|
||||
// Ensure the EAH is handled 2nd
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(Some(480))
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::EpochAccountsHash
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::EpochAccountsHash
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 500);
|
||||
|
||||
// Ensure the incremental snapshot is handled 3rd
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(Some(480))
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(480))
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(480))
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 540);
|
||||
|
||||
// Ensure the accounts hash verifier is handled 4th
|
||||
let (snapshot_request, accounts_package_type, ..) = snapshot_request_handler
|
||||
let (snapshot_request, accounts_package_kind, ..) = snapshot_request_handler
|
||||
.get_next_snapshot_request(Some(480))
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
accounts_package_type,
|
||||
AccountsPackageType::AccountsHashVerifier
|
||||
accounts_package_kind,
|
||||
AccountsPackageKind::AccountsHashVerifier
|
||||
);
|
||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 543);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ use {
|
|||
FullSnapshotArchiveInfo, IncrementalSnapshotArchiveInfo, SnapshotArchiveInfoGetter,
|
||||
},
|
||||
snapshot_hash::SnapshotHash,
|
||||
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotKind, SnapshotPackage},
|
||||
snapshot_package::{AccountsPackage, AccountsPackageKind, SnapshotKind, SnapshotPackage},
|
||||
snapshot_utils::{
|
||||
self, archive_snapshot_package, build_storage_from_snapshot_dir,
|
||||
delete_contents_of_path, deserialize_snapshot_data_file,
|
||||
|
@ -1079,7 +1079,7 @@ pub fn package_and_archive_full_snapshot(
|
|||
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
||||
) -> snapshot_utils::Result<FullSnapshotArchiveInfo> {
|
||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
bank,
|
||||
bank_snapshot_info,
|
||||
&full_snapshot_archives_dir,
|
||||
|
@ -1129,7 +1129,7 @@ pub fn package_and_archive_incremental_snapshot(
|
|||
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
||||
) -> snapshot_utils::Result<IncrementalSnapshotArchiveInfo> {
|
||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(
|
||||
incremental_snapshot_base_slot,
|
||||
)),
|
||||
bank,
|
||||
|
|
|
@ -26,7 +26,7 @@ pub use compare::*;
|
|||
|
||||
/// This struct packages up fields to send from AccountsBackgroundService to AccountsHashVerifier
|
||||
pub struct AccountsPackage {
|
||||
pub package_type: AccountsPackageType,
|
||||
pub package_kind: AccountsPackageKind,
|
||||
pub slot: Slot,
|
||||
pub block_height: Slot,
|
||||
pub snapshot_storages: Vec<Arc<AccountStorageEntry>>,
|
||||
|
@ -50,7 +50,7 @@ impl AccountsPackage {
|
|||
/// Package up bank files, storages, and slot deltas for a snapshot
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub fn new_for_snapshot(
|
||||
package_type: AccountsPackageType,
|
||||
package_kind: AccountsPackageKind,
|
||||
bank: &Bank,
|
||||
bank_snapshot_info: &BankSnapshotInfo,
|
||||
full_snapshot_archives_dir: impl AsRef<Path>,
|
||||
|
@ -60,7 +60,7 @@ impl AccountsPackage {
|
|||
snapshot_version: SnapshotVersion,
|
||||
accounts_hash_for_testing: Option<AccountsHash>,
|
||||
) -> Self {
|
||||
if let AccountsPackageType::Snapshot(snapshot_kind) = package_type {
|
||||
if let AccountsPackageKind::Snapshot(snapshot_kind) = package_kind {
|
||||
info!(
|
||||
"Package snapshot for bank {} has {} account storage entries (snapshot kind: {:?})",
|
||||
bank.slot(),
|
||||
|
@ -87,7 +87,7 @@ impl AccountsPackage {
|
|||
epoch_accounts_hash: bank.get_epoch_accounts_hash_to_serialize(),
|
||||
};
|
||||
Self::_new(
|
||||
package_type,
|
||||
package_kind,
|
||||
bank,
|
||||
snapshot_storages,
|
||||
accounts_hash_for_testing,
|
||||
|
@ -98,14 +98,14 @@ impl AccountsPackage {
|
|||
/// Package up fields needed to verify an accounts hash
|
||||
#[must_use]
|
||||
pub fn new_for_accounts_hash_verifier(
|
||||
package_type: AccountsPackageType,
|
||||
package_kind: AccountsPackageKind,
|
||||
bank: &Bank,
|
||||
snapshot_storages: Vec<Arc<AccountStorageEntry>>,
|
||||
accounts_hash_for_testing: Option<AccountsHash>,
|
||||
) -> Self {
|
||||
assert_eq!(package_type, AccountsPackageType::AccountsHashVerifier);
|
||||
assert_eq!(package_kind, AccountsPackageKind::AccountsHashVerifier);
|
||||
Self::_new(
|
||||
package_type,
|
||||
package_kind,
|
||||
bank,
|
||||
snapshot_storages,
|
||||
accounts_hash_for_testing,
|
||||
|
@ -116,14 +116,14 @@ impl AccountsPackage {
|
|||
/// Package up fields needed to compute an EpochAccountsHash
|
||||
#[must_use]
|
||||
pub fn new_for_epoch_accounts_hash(
|
||||
package_type: AccountsPackageType,
|
||||
package_kind: AccountsPackageKind,
|
||||
bank: &Bank,
|
||||
snapshot_storages: Vec<Arc<AccountStorageEntry>>,
|
||||
accounts_hash_for_testing: Option<AccountsHash>,
|
||||
) -> Self {
|
||||
assert_eq!(package_type, AccountsPackageType::EpochAccountsHash);
|
||||
assert_eq!(package_kind, AccountsPackageKind::EpochAccountsHash);
|
||||
Self::_new(
|
||||
package_type,
|
||||
package_kind,
|
||||
bank,
|
||||
snapshot_storages,
|
||||
accounts_hash_for_testing,
|
||||
|
@ -132,7 +132,7 @@ impl AccountsPackage {
|
|||
}
|
||||
|
||||
fn _new(
|
||||
package_type: AccountsPackageType,
|
||||
package_kind: AccountsPackageKind,
|
||||
bank: &Bank,
|
||||
snapshot_storages: Vec<Arc<AccountStorageEntry>>,
|
||||
accounts_hash_for_testing: Option<AccountsHash>,
|
||||
|
@ -142,7 +142,7 @@ impl AccountsPackage {
|
|||
.feature_set
|
||||
.is_active(&feature_set::incremental_snapshot_only_incremental_hash_calculation::id());
|
||||
Self {
|
||||
package_type,
|
||||
package_kind,
|
||||
slot: bank.slot(),
|
||||
block_height: bank.block_height(),
|
||||
snapshot_storages,
|
||||
|
@ -162,7 +162,7 @@ impl AccountsPackage {
|
|||
/// Only use for tests; many of the fields are invalid!
|
||||
pub fn default_for_tests() -> Self {
|
||||
Self {
|
||||
package_type: AccountsPackageType::AccountsHashVerifier,
|
||||
package_kind: AccountsPackageKind::AccountsHashVerifier,
|
||||
slot: Slot::default(),
|
||||
block_height: Slot::default(),
|
||||
snapshot_storages: Vec::default(),
|
||||
|
@ -189,14 +189,14 @@ impl AccountsPackage {
|
|||
///
|
||||
/// NOTE: This fn will panic if the AccountsPackage is of type EpochAccountsHash.
|
||||
pub fn bank_snapshot_dir(&self) -> &Path {
|
||||
match self.package_type {
|
||||
AccountsPackageType::AccountsHashVerifier | AccountsPackageType::Snapshot(..) => self
|
||||
match self.package_kind {
|
||||
AccountsPackageKind::AccountsHashVerifier | AccountsPackageKind::Snapshot(..) => self
|
||||
.snapshot_info
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.bank_snapshot_dir
|
||||
.as_path(),
|
||||
AccountsPackageType::EpochAccountsHash => {
|
||||
AccountsPackageKind::EpochAccountsHash => {
|
||||
panic!("EAH accounts packages do not contain snapshot information")
|
||||
}
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ impl AccountsPackage {
|
|||
impl std::fmt::Debug for AccountsPackage {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
f.debug_struct("AccountsPackage")
|
||||
.field("type", &self.package_type)
|
||||
.field("kind", &self.package_kind)
|
||||
.field("slot", &self.slot)
|
||||
.field("block_height", &self.block_height)
|
||||
.finish_non_exhaustive()
|
||||
|
@ -227,7 +227,7 @@ pub struct SupplementalSnapshotInfo {
|
|||
/// types of accounts packages, which are specified as variants in this enum. All accounts
|
||||
/// packages do share some processing: such as calculating the accounts hash.
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
|
||||
pub enum AccountsPackageType {
|
||||
pub enum AccountsPackageKind {
|
||||
AccountsHashVerifier,
|
||||
Snapshot(SnapshotKind),
|
||||
EpochAccountsHash,
|
||||
|
@ -249,9 +249,9 @@ pub struct SnapshotPackage {
|
|||
|
||||
impl SnapshotPackage {
|
||||
pub fn new(accounts_package: AccountsPackage, accounts_hash: AccountsHashKind) -> Self {
|
||||
let AccountsPackageType::Snapshot(snapshot_kind) = accounts_package.package_type else {
|
||||
let AccountsPackageKind::Snapshot(snapshot_kind) = accounts_package.package_kind else {
|
||||
panic!(
|
||||
"The AccountsPackage must be of type Snapshot in order to make a SnapshotPackage!"
|
||||
"The AccountsPackage must be of kind Snapshot in order to make a SnapshotPackage!"
|
||||
);
|
||||
};
|
||||
let Some(snapshot_info) = accounts_package.snapshot_info else {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use {
|
||||
super::{
|
||||
AccountsPackage, AccountsPackageType, SnapshotArchiveInfoGetter, SnapshotKind,
|
||||
AccountsPackage, AccountsPackageKind, SnapshotArchiveInfoGetter, SnapshotKind,
|
||||
SnapshotPackage,
|
||||
},
|
||||
std::cmp::Ordering::{self, Equal, Greater, Less},
|
||||
|
@ -15,11 +15,11 @@ pub fn cmp_snapshot_packages_by_priority(a: &SnapshotPackage, b: &SnapshotPackag
|
|||
/// Compare accounts packages by priority; first by type, then by slot
|
||||
#[must_use]
|
||||
pub fn cmp_accounts_packages_by_priority(a: &AccountsPackage, b: &AccountsPackage) -> Ordering {
|
||||
cmp_accounts_package_types_by_priority(&a.package_type, &b.package_type)
|
||||
cmp_accounts_package_kinds_by_priority(&a.package_kind, &b.package_kind)
|
||||
.then(a.slot.cmp(&b.slot))
|
||||
}
|
||||
|
||||
/// Compare accounts package types by priority
|
||||
/// Compare accounts package kinds by priority
|
||||
///
|
||||
/// Priority, from highest to lowest:
|
||||
/// - Epoch Accounts Hash
|
||||
|
@ -29,11 +29,11 @@ pub fn cmp_accounts_packages_by_priority(a: &AccountsPackage, b: &AccountsPackag
|
|||
///
|
||||
/// If two `Snapshot`s are compared, their snapshot kinds are the tiebreaker.
|
||||
#[must_use]
|
||||
pub fn cmp_accounts_package_types_by_priority(
|
||||
a: &AccountsPackageType,
|
||||
b: &AccountsPackageType,
|
||||
pub fn cmp_accounts_package_kinds_by_priority(
|
||||
a: &AccountsPackageKind,
|
||||
b: &AccountsPackageKind,
|
||||
) -> Ordering {
|
||||
use AccountsPackageType::*;
|
||||
use AccountsPackageKind::*;
|
||||
match (a, b) {
|
||||
// Epoch Accounts Hash packages
|
||||
(EpochAccountsHash, EpochAccountsHash) => Equal,
|
||||
|
@ -161,9 +161,9 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_cmp_accounts_packages_by_priority() {
|
||||
fn new(package_type: AccountsPackageType, slot: Slot) -> AccountsPackage {
|
||||
fn new(package_kind: AccountsPackageKind, slot: Slot) -> AccountsPackage {
|
||||
AccountsPackage {
|
||||
package_type,
|
||||
package_kind,
|
||||
slot,
|
||||
block_height: slot,
|
||||
..AccountsPackage::default_for_tests()
|
||||
|
@ -172,196 +172,196 @@ mod tests {
|
|||
|
||||
for (accounts_package_a, accounts_package_b, expected_result) in [
|
||||
(
|
||||
new(AccountsPackageType::EpochAccountsHash, 11),
|
||||
new(AccountsPackageType::EpochAccountsHash, 22),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 11),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 22),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::EpochAccountsHash, 22),
|
||||
new(AccountsPackageType::EpochAccountsHash, 22),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 22),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 22),
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::EpochAccountsHash, 33),
|
||||
new(AccountsPackageType::EpochAccountsHash, 22),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 33),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 22),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 123),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
123,
|
||||
),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 123),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||
new(AccountsPackageType::AccountsHashVerifier, 123),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 123),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 123),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
123,
|
||||
),
|
||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 123),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
11,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
22,
|
||||
),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
22,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
22,
|
||||
),
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
33,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
22,
|
||||
),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
123,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
123,
|
||||
),
|
||||
new(AccountsPackageType::AccountsHashVerifier, 123),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 123),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||
new(AccountsPackageKind::EpochAccountsHash, 123),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
123,
|
||||
),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
|
||||
123,
|
||||
),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
11,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
22,
|
||||
),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
22,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
22,
|
||||
),
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
33,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
22,
|
||||
),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
|
||||
123,
|
||||
),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
123,
|
||||
),
|
||||
new(AccountsPackageType::AccountsHashVerifier, 123),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 123),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::AccountsHashVerifier, 11),
|
||||
new(AccountsPackageType::AccountsHashVerifier, 22),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 11),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 22),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::AccountsHashVerifier, 22),
|
||||
new(AccountsPackageType::AccountsHashVerifier, 22),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 22),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 22),
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
new(AccountsPackageType::AccountsHashVerifier, 33),
|
||||
new(AccountsPackageType::AccountsHashVerifier, 22),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 33),
|
||||
new(AccountsPackageKind::AccountsHashVerifier, 22),
|
||||
Greater,
|
||||
),
|
||||
] {
|
||||
|
@ -372,87 +372,87 @@ mod tests {
|
|||
}
|
||||
|
||||
#[test]
|
||||
fn test_cmp_accounts_package_types_by_priority() {
|
||||
for (accounts_package_type_a, accounts_package_type_b, expected_result) in [
|
||||
fn test_cmp_accounts_package_kinds_by_priority() {
|
||||
for (accounts_package_kind_a, accounts_package_kind_b, expected_result) in [
|
||||
(
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageType::AccountsHashVerifier,
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
AccountsPackageKind::AccountsHashVerifier,
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
Less,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageType::AccountsHashVerifier,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::AccountsHashVerifier,
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageType::EpochAccountsHash,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::EpochAccountsHash,
|
||||
Less,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::FullSnapshot),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
|
||||
Less,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
Equal,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageType::AccountsHashVerifier,
|
||||
AccountsPackageKind::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||
AccountsPackageKind::AccountsHashVerifier,
|
||||
Greater,
|
||||
),
|
||||
(
|
||||
AccountsPackageType::AccountsHashVerifier,
|
||||
AccountsPackageType::AccountsHashVerifier,
|
||||
AccountsPackageKind::AccountsHashVerifier,
|
||||
AccountsPackageKind::AccountsHashVerifier,
|
||||
Equal,
|
||||
),
|
||||
] {
|
||||
let actual_result = cmp_accounts_package_types_by_priority(
|
||||
&accounts_package_type_a,
|
||||
&accounts_package_type_b,
|
||||
let actual_result = cmp_accounts_package_kinds_by_priority(
|
||||
&accounts_package_kind_a,
|
||||
&accounts_package_kind_b,
|
||||
);
|
||||
assert_eq!(expected_result, actual_result);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue