Renames SnapshotType to SnapshotKind (#32906)
This commit is contained in:
parent
aa4598d436
commit
f9bc3cec24
|
@ -19,8 +19,8 @@ use {
|
||||||
serde_snapshot::BankIncrementalSnapshotPersistence,
|
serde_snapshot::BankIncrementalSnapshotPersistence,
|
||||||
snapshot_config::SnapshotConfig,
|
snapshot_config::SnapshotConfig,
|
||||||
snapshot_package::{
|
snapshot_package::{
|
||||||
self, retain_max_n_elements, AccountsPackage, AccountsPackageType, SnapshotPackage,
|
self, retain_max_n_elements, AccountsPackage, AccountsPackageType, SnapshotKind,
|
||||||
SnapshotType,
|
SnapshotPackage,
|
||||||
},
|
},
|
||||||
snapshot_utils,
|
snapshot_utils,
|
||||||
},
|
},
|
||||||
|
@ -200,7 +200,7 @@ impl AccountsHashVerifier {
|
||||||
// need to check. If `y` is a FullSnapshot request *with a lower slot* than `z`,
|
// need to check. If `y` is a FullSnapshot request *with a lower slot* than `z`,
|
||||||
// then handle `y` first.
|
// then handle `y` first.
|
||||||
let accounts_package = if z.package_type == AccountsPackageType::EpochAccountsHash
|
let accounts_package = if z.package_type == AccountsPackageType::EpochAccountsHash
|
||||||
&& y.package_type == AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
&& y.package_type == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
&& y.slot < z.slot
|
&& y.slot < z.slot
|
||||||
{
|
{
|
||||||
// SAFETY: We know the len is > 1, so both `pop`s will return `Some`
|
// SAFETY: We know the len is > 1, so both `pop`s will return `Some`
|
||||||
|
@ -277,9 +277,9 @@ impl AccountsHashVerifier {
|
||||||
let accounts_hash_calculation_flavor = match accounts_package.package_type {
|
let accounts_hash_calculation_flavor = match accounts_package.package_type {
|
||||||
AccountsPackageType::AccountsHashVerifier => CalcAccountsHashFlavor::Full,
|
AccountsPackageType::AccountsHashVerifier => CalcAccountsHashFlavor::Full,
|
||||||
AccountsPackageType::EpochAccountsHash => CalcAccountsHashFlavor::Full,
|
AccountsPackageType::EpochAccountsHash => CalcAccountsHashFlavor::Full,
|
||||||
AccountsPackageType::Snapshot(snapshot_type) => match snapshot_type {
|
AccountsPackageType::Snapshot(snapshot_kind) => match snapshot_kind {
|
||||||
SnapshotType::FullSnapshot => CalcAccountsHashFlavor::Full,
|
SnapshotKind::FullSnapshot => CalcAccountsHashFlavor::Full,
|
||||||
SnapshotType::IncrementalSnapshot(_) => {
|
SnapshotKind::IncrementalSnapshot(_) => {
|
||||||
if accounts_package.is_incremental_accounts_hash_feature_enabled {
|
if accounts_package.is_incremental_accounts_hash_feature_enabled {
|
||||||
CalcAccountsHashFlavor::Incremental
|
CalcAccountsHashFlavor::Incremental
|
||||||
} else {
|
} else {
|
||||||
|
@ -300,7 +300,7 @@ impl AccountsHashVerifier {
|
||||||
(accounts_hash.into(), accounts_hash, None)
|
(accounts_hash.into(), accounts_hash, None)
|
||||||
}
|
}
|
||||||
CalcAccountsHashFlavor::Incremental => {
|
CalcAccountsHashFlavor::Incremental => {
|
||||||
let AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(base_slot)) =
|
let AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(base_slot)) =
|
||||||
accounts_package.package_type
|
accounts_package.package_type
|
||||||
else {
|
else {
|
||||||
panic!("Calculating incremental accounts hash requires a base slot");
|
panic!("Calculating incremental accounts hash requires a base slot");
|
||||||
|
@ -337,7 +337,7 @@ impl AccountsHashVerifier {
|
||||||
}
|
}
|
||||||
|
|
||||||
if accounts_package.package_type
|
if accounts_package.package_type
|
||||||
== AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
== AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
{
|
{
|
||||||
accounts_package
|
accounts_package
|
||||||
.accounts
|
.accounts
|
||||||
|
@ -581,7 +581,7 @@ mod tests {
|
||||||
rand::seq::SliceRandom,
|
rand::seq::SliceRandom,
|
||||||
solana_gossip::contact_info::ContactInfo,
|
solana_gossip::contact_info::ContactInfo,
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
snapshot_bank_utils::DISABLED_SNAPSHOT_ARCHIVE_INTERVAL, snapshot_package::SnapshotType,
|
snapshot_bank_utils::DISABLED_SNAPSHOT_ARCHIVE_INTERVAL, snapshot_package::SnapshotKind,
|
||||||
},
|
},
|
||||||
solana_sdk::{
|
solana_sdk::{
|
||||||
signature::{Keypair, Signer},
|
signature::{Keypair, Signer},
|
||||||
|
@ -667,13 +667,13 @@ mod tests {
|
||||||
}
|
}
|
||||||
fn new_fss(slot: Slot) -> AccountsPackage {
|
fn new_fss(slot: Slot) -> AccountsPackage {
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
slot,
|
slot,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
fn new_iss(slot: Slot, base: Slot) -> AccountsPackage {
|
fn new_iss(slot: Slot, base: Slot) -> AccountsPackage {
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(base)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(base)),
|
||||||
slot,
|
slot,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -751,7 +751,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
account_package.package_type,
|
account_package.package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
);
|
);
|
||||||
assert_eq!(account_package.slot, 400);
|
assert_eq!(account_package.slot, 400);
|
||||||
assert_eq!(num_re_enqueued_accounts_packages, 7);
|
assert_eq!(num_re_enqueued_accounts_packages, 7);
|
||||||
|
@ -769,7 +769,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
account_package.package_type,
|
account_package.package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(400))
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(400))
|
||||||
);
|
);
|
||||||
assert_eq!(account_package.slot, 420);
|
assert_eq!(account_package.slot, 420);
|
||||||
assert_eq!(num_re_enqueued_accounts_packages, 3);
|
assert_eq!(num_re_enqueued_accounts_packages, 3);
|
||||||
|
@ -842,7 +842,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
account_package.package_type,
|
account_package.package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
);
|
);
|
||||||
assert_eq!(account_package.slot, 100);
|
assert_eq!(account_package.slot, 100);
|
||||||
assert_eq!(num_re_enqueued_accounts_packages, 10);
|
assert_eq!(num_re_enqueued_accounts_packages, 10);
|
||||||
|
@ -877,7 +877,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
account_package.package_type,
|
account_package.package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(100))
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(100))
|
||||||
);
|
);
|
||||||
assert_eq!(account_package.slot, 220);
|
assert_eq!(account_package.slot, 220);
|
||||||
assert_eq!(num_re_enqueued_accounts_packages, 2);
|
assert_eq!(num_re_enqueued_accounts_packages, 2);
|
||||||
|
|
|
@ -94,7 +94,7 @@ impl SnapshotPackagerService {
|
||||||
|
|
||||||
if let Some(snapshot_gossip_manager) = snapshot_gossip_manager.as_mut() {
|
if let Some(snapshot_gossip_manager) = snapshot_gossip_manager.as_mut() {
|
||||||
snapshot_gossip_manager.push_snapshot_hash(
|
snapshot_gossip_manager.push_snapshot_hash(
|
||||||
snapshot_package.snapshot_type,
|
snapshot_package.snapshot_kind,
|
||||||
(snapshot_package.slot(), *snapshot_package.hash()),
|
(snapshot_package.slot(), *snapshot_package.hash()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,7 @@ mod tests {
|
||||||
snapshot_archive_info::SnapshotArchiveInfo,
|
snapshot_archive_info::SnapshotArchiveInfo,
|
||||||
snapshot_bank_utils,
|
snapshot_bank_utils,
|
||||||
snapshot_hash::SnapshotHash,
|
snapshot_hash::SnapshotHash,
|
||||||
snapshot_package::{SnapshotPackage, SnapshotType},
|
snapshot_package::{SnapshotKind, SnapshotPackage},
|
||||||
snapshot_utils::{self, ArchiveFormat, SnapshotVersion},
|
snapshot_utils::{self, ArchiveFormat, SnapshotVersion},
|
||||||
},
|
},
|
||||||
solana_sdk::{clock::Slot, genesis_config::GenesisConfig, hash::Hash},
|
solana_sdk::{clock::Slot, genesis_config::GenesisConfig, hash::Hash},
|
||||||
|
@ -296,7 +296,7 @@ mod tests {
|
||||||
/// Otherwise, they should be dropped.
|
/// Otherwise, they should be dropped.
|
||||||
#[test]
|
#[test]
|
||||||
fn test_get_next_snapshot_package() {
|
fn test_get_next_snapshot_package() {
|
||||||
fn new(snapshot_type: SnapshotType, slot: Slot) -> SnapshotPackage {
|
fn new(snapshot_kind: SnapshotKind, slot: Slot) -> SnapshotPackage {
|
||||||
SnapshotPackage {
|
SnapshotPackage {
|
||||||
snapshot_archive_info: SnapshotArchiveInfo {
|
snapshot_archive_info: SnapshotArchiveInfo {
|
||||||
path: PathBuf::default(),
|
path: PathBuf::default(),
|
||||||
|
@ -308,15 +308,15 @@ mod tests {
|
||||||
bank_snapshot_dir: PathBuf::default(),
|
bank_snapshot_dir: PathBuf::default(),
|
||||||
snapshot_storages: Vec::default(),
|
snapshot_storages: Vec::default(),
|
||||||
snapshot_version: SnapshotVersion::default(),
|
snapshot_version: SnapshotVersion::default(),
|
||||||
snapshot_type,
|
snapshot_kind,
|
||||||
enqueued: Instant::now(),
|
enqueued: Instant::now(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn new_full(slot: Slot) -> SnapshotPackage {
|
fn new_full(slot: Slot) -> SnapshotPackage {
|
||||||
new(SnapshotType::FullSnapshot, slot)
|
new(SnapshotKind::FullSnapshot, slot)
|
||||||
}
|
}
|
||||||
fn new_incr(slot: Slot, base: Slot) -> SnapshotPackage {
|
fn new_incr(slot: Slot, base: Slot) -> SnapshotPackage {
|
||||||
new(SnapshotType::IncrementalSnapshot(base), slot)
|
new(SnapshotKind::IncrementalSnapshot(base), slot)
|
||||||
}
|
}
|
||||||
|
|
||||||
let (snapshot_package_sender, snapshot_package_receiver) = crossbeam_channel::unbounded();
|
let (snapshot_package_sender, snapshot_package_receiver) = crossbeam_channel::unbounded();
|
||||||
|
@ -350,7 +350,7 @@ mod tests {
|
||||||
&snapshot_package_receiver,
|
&snapshot_package_receiver,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(snapshot_package.snapshot_type, SnapshotType::FullSnapshot,);
|
assert_eq!(snapshot_package.snapshot_kind, SnapshotKind::FullSnapshot,);
|
||||||
assert_eq!(snapshot_package.slot(), 400);
|
assert_eq!(snapshot_package.slot(), 400);
|
||||||
assert_eq!(num_re_enqueued_snapshot_packages, 2);
|
assert_eq!(num_re_enqueued_snapshot_packages, 2);
|
||||||
|
|
||||||
|
@ -366,8 +366,8 @@ mod tests {
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
snapshot_package.snapshot_type,
|
snapshot_package.snapshot_kind,
|
||||||
SnapshotType::IncrementalSnapshot(400),
|
SnapshotKind::IncrementalSnapshot(400),
|
||||||
);
|
);
|
||||||
assert_eq!(snapshot_package.slot(), 420);
|
assert_eq!(snapshot_package.slot(), 420);
|
||||||
assert_eq!(num_re_enqueued_snapshot_packages, 0);
|
assert_eq!(num_re_enqueued_snapshot_packages, 0);
|
||||||
|
|
|
@ -4,7 +4,7 @@ use {
|
||||||
snapshot_hash::{
|
snapshot_hash::{
|
||||||
FullSnapshotHash, IncrementalSnapshotHash, SnapshotHash, StartingSnapshotHashes,
|
FullSnapshotHash, IncrementalSnapshotHash, SnapshotHash, StartingSnapshotHashes,
|
||||||
},
|
},
|
||||||
snapshot_package::{retain_max_n_elements, SnapshotType},
|
snapshot_package::{retain_max_n_elements, SnapshotKind},
|
||||||
},
|
},
|
||||||
solana_sdk::{clock::Slot, hash::Hash},
|
solana_sdk::{clock::Slot, hash::Hash},
|
||||||
std::sync::Arc,
|
std::sync::Arc,
|
||||||
|
@ -58,14 +58,14 @@ impl SnapshotGossipManager {
|
||||||
/// Push new snapshot hash to the cluster via CRDS
|
/// Push new snapshot hash to the cluster via CRDS
|
||||||
pub fn push_snapshot_hash(
|
pub fn push_snapshot_hash(
|
||||||
&mut self,
|
&mut self,
|
||||||
snapshot_type: SnapshotType,
|
snapshot_kind: SnapshotKind,
|
||||||
snapshot_hash: (Slot, SnapshotHash),
|
snapshot_hash: (Slot, SnapshotHash),
|
||||||
) {
|
) {
|
||||||
match snapshot_type {
|
match snapshot_kind {
|
||||||
SnapshotType::FullSnapshot => {
|
SnapshotKind::FullSnapshot => {
|
||||||
self.push_full_snapshot_hash(FullSnapshotHash(snapshot_hash));
|
self.push_full_snapshot_hash(FullSnapshotHash(snapshot_hash));
|
||||||
}
|
}
|
||||||
SnapshotType::IncrementalSnapshot(base_slot) => {
|
SnapshotKind::IncrementalSnapshot(base_slot) => {
|
||||||
self.push_incremental_snapshot_hash(
|
self.push_incremental_snapshot_hash(
|
||||||
IncrementalSnapshotHash(snapshot_hash),
|
IncrementalSnapshotHash(snapshot_hash),
|
||||||
base_slot,
|
base_slot,
|
||||||
|
|
|
@ -30,7 +30,7 @@ use {
|
||||||
snapshot_bank_utils::{self, DISABLED_SNAPSHOT_ARCHIVE_INTERVAL},
|
snapshot_bank_utils::{self, DISABLED_SNAPSHOT_ARCHIVE_INTERVAL},
|
||||||
snapshot_config::SnapshotConfig,
|
snapshot_config::SnapshotConfig,
|
||||||
snapshot_hash::SnapshotHash,
|
snapshot_hash::SnapshotHash,
|
||||||
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotPackage, SnapshotType},
|
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotKind, SnapshotPackage},
|
||||||
snapshot_utils::{
|
snapshot_utils::{
|
||||||
self,
|
self,
|
||||||
SnapshotVersion::{self, V1_2_0},
|
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)
|
let last_bank_snapshot_info = snapshot_utils::get_highest_bank_snapshot_pre(bank_snapshots_dir)
|
||||||
.expect("no bank snapshots found in path");
|
.expect("no bank snapshots found in path");
|
||||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
&last_bank,
|
&last_bank,
|
||||||
&last_bank_snapshot_info,
|
&last_bank_snapshot_info,
|
||||||
&snapshot_config.full_snapshot_archives_dir,
|
&snapshot_config.full_snapshot_archives_dir,
|
||||||
|
@ -412,7 +412,7 @@ fn test_concurrent_snapshot_packaging(
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
&bank,
|
&bank,
|
||||||
&bank_snapshot_info,
|
&bank_snapshot_info,
|
||||||
full_snapshot_archives_dir,
|
full_snapshot_archives_dir,
|
||||||
|
|
|
@ -5,7 +5,7 @@ use {
|
||||||
log::*,
|
log::*,
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
snapshot_hash::SnapshotHash,
|
snapshot_hash::SnapshotHash,
|
||||||
snapshot_package::SnapshotType,
|
snapshot_package::SnapshotKind,
|
||||||
snapshot_utils::{self, ArchiveFormat},
|
snapshot_utils::{self, ArchiveFormat},
|
||||||
},
|
},
|
||||||
solana_sdk::{clock::Slot, genesis_config::DEFAULT_GENESIS_ARCHIVE},
|
solana_sdk::{clock::Slot, genesis_config::DEFAULT_GENESIS_ARCHIVE},
|
||||||
|
@ -256,14 +256,14 @@ pub fn download_genesis_if_missing(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Download a snapshot archive from `rpc_addr`. Use `snapshot_type` to specify downloading either
|
/// Download a snapshot archive from `rpc_addr`. Use `snapshot_kind` to specify downloading either
|
||||||
/// a full snapshot or an incremental snapshot.
|
/// a full snapshot or an incremental snapshot.
|
||||||
pub fn download_snapshot_archive(
|
pub fn download_snapshot_archive(
|
||||||
rpc_addr: &SocketAddr,
|
rpc_addr: &SocketAddr,
|
||||||
full_snapshot_archives_dir: &Path,
|
full_snapshot_archives_dir: &Path,
|
||||||
incremental_snapshot_archives_dir: &Path,
|
incremental_snapshot_archives_dir: &Path,
|
||||||
desired_snapshot_hash: (Slot, SnapshotHash),
|
desired_snapshot_hash: (Slot, SnapshotHash),
|
||||||
snapshot_type: SnapshotType,
|
snapshot_kind: SnapshotKind,
|
||||||
maximum_full_snapshot_archives_to_retain: NonZeroUsize,
|
maximum_full_snapshot_archives_to_retain: NonZeroUsize,
|
||||||
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
||||||
use_progress_bar: bool,
|
use_progress_bar: bool,
|
||||||
|
@ -277,9 +277,9 @@ pub fn download_snapshot_archive(
|
||||||
);
|
);
|
||||||
|
|
||||||
let snapshot_archives_remote_dir =
|
let snapshot_archives_remote_dir =
|
||||||
snapshot_utils::build_snapshot_archives_remote_dir(match snapshot_type {
|
snapshot_utils::build_snapshot_archives_remote_dir(match snapshot_kind {
|
||||||
SnapshotType::FullSnapshot => full_snapshot_archives_dir,
|
SnapshotKind::FullSnapshot => full_snapshot_archives_dir,
|
||||||
SnapshotType::IncrementalSnapshot(_) => incremental_snapshot_archives_dir,
|
SnapshotKind::IncrementalSnapshot(_) => incremental_snapshot_archives_dir,
|
||||||
});
|
});
|
||||||
fs::create_dir_all(&snapshot_archives_remote_dir).unwrap();
|
fs::create_dir_all(&snapshot_archives_remote_dir).unwrap();
|
||||||
|
|
||||||
|
@ -290,14 +290,14 @@ pub fn download_snapshot_archive(
|
||||||
ArchiveFormat::TarLz4,
|
ArchiveFormat::TarLz4,
|
||||||
ArchiveFormat::Tar, // `solana-test-validator` creates uncompressed snapshots
|
ArchiveFormat::Tar, // `solana-test-validator` creates uncompressed snapshots
|
||||||
] {
|
] {
|
||||||
let destination_path = match snapshot_type {
|
let destination_path = match snapshot_kind {
|
||||||
SnapshotType::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
|
SnapshotKind::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
|
||||||
&snapshot_archives_remote_dir,
|
&snapshot_archives_remote_dir,
|
||||||
desired_snapshot_hash.0,
|
desired_snapshot_hash.0,
|
||||||
&desired_snapshot_hash.1,
|
&desired_snapshot_hash.1,
|
||||||
archive_format,
|
archive_format,
|
||||||
),
|
),
|
||||||
SnapshotType::IncrementalSnapshot(base_slot) => {
|
SnapshotKind::IncrementalSnapshot(base_slot) => {
|
||||||
snapshot_utils::build_incremental_snapshot_archive_path(
|
snapshot_utils::build_incremental_snapshot_archive_path(
|
||||||
&snapshot_archives_remote_dir,
|
&snapshot_archives_remote_dir,
|
||||||
base_slot,
|
base_slot,
|
||||||
|
|
|
@ -60,7 +60,7 @@ use {
|
||||||
snapshot_archive_info::SnapshotArchiveInfoGetter,
|
snapshot_archive_info::SnapshotArchiveInfoGetter,
|
||||||
snapshot_bank_utils,
|
snapshot_bank_utils,
|
||||||
snapshot_config::SnapshotConfig,
|
snapshot_config::SnapshotConfig,
|
||||||
snapshot_package::SnapshotType,
|
snapshot_package::SnapshotKind,
|
||||||
snapshot_utils::{self},
|
snapshot_utils::{self},
|
||||||
vote_parser,
|
vote_parser,
|
||||||
},
|
},
|
||||||
|
@ -552,7 +552,7 @@ fn test_snapshot_download() {
|
||||||
full_snapshot_archive_info.slot(),
|
full_snapshot_archive_info.slot(),
|
||||||
*full_snapshot_archive_info.hash(),
|
*full_snapshot_archive_info.hash(),
|
||||||
),
|
),
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
validator_snapshot_test_config
|
validator_snapshot_test_config
|
||||||
.validator_config
|
.validator_config
|
||||||
.snapshot_config
|
.snapshot_config
|
||||||
|
@ -683,7 +683,7 @@ fn test_incremental_snapshot_download() {
|
||||||
full_snapshot_archive_info.slot(),
|
full_snapshot_archive_info.slot(),
|
||||||
*full_snapshot_archive_info.hash(),
|
*full_snapshot_archive_info.hash(),
|
||||||
),
|
),
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
validator_snapshot_test_config
|
validator_snapshot_test_config
|
||||||
.validator_config
|
.validator_config
|
||||||
.snapshot_config
|
.snapshot_config
|
||||||
|
@ -711,7 +711,7 @@ fn test_incremental_snapshot_download() {
|
||||||
incremental_snapshot_archive_info.slot(),
|
incremental_snapshot_archive_info.slot(),
|
||||||
*incremental_snapshot_archive_info.hash(),
|
*incremental_snapshot_archive_info.hash(),
|
||||||
),
|
),
|
||||||
SnapshotType::IncrementalSnapshot(incremental_snapshot_archive_info.base_slot()),
|
SnapshotKind::IncrementalSnapshot(incremental_snapshot_archive_info.base_slot()),
|
||||||
validator_snapshot_test_config
|
validator_snapshot_test_config
|
||||||
.validator_config
|
.validator_config
|
||||||
.snapshot_config
|
.snapshot_config
|
||||||
|
@ -854,7 +854,7 @@ fn test_incremental_snapshot_download_with_crossing_full_snapshot_interval_at_st
|
||||||
.incremental_snapshot_archives_dir
|
.incremental_snapshot_archives_dir
|
||||||
.path(),
|
.path(),
|
||||||
(full_snapshot_archive.slot(), *full_snapshot_archive.hash()),
|
(full_snapshot_archive.slot(), *full_snapshot_archive.hash()),
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
validator_snapshot_test_config
|
validator_snapshot_test_config
|
||||||
.validator_config
|
.validator_config
|
||||||
.snapshot_config
|
.snapshot_config
|
||||||
|
@ -891,7 +891,7 @@ fn test_incremental_snapshot_download_with_crossing_full_snapshot_interval_at_st
|
||||||
incremental_snapshot_archive.slot(),
|
incremental_snapshot_archive.slot(),
|
||||||
*incremental_snapshot_archive.hash(),
|
*incremental_snapshot_archive.hash(),
|
||||||
),
|
),
|
||||||
SnapshotType::IncrementalSnapshot(incremental_snapshot_archive.base_slot()),
|
SnapshotKind::IncrementalSnapshot(incremental_snapshot_archive.base_slot()),
|
||||||
validator_snapshot_test_config
|
validator_snapshot_test_config
|
||||||
.validator_config
|
.validator_config
|
||||||
.snapshot_config
|
.snapshot_config
|
||||||
|
|
|
@ -9,7 +9,7 @@ use {
|
||||||
bank_forks::BankForks,
|
bank_forks::BankForks,
|
||||||
snapshot_bank_utils,
|
snapshot_bank_utils,
|
||||||
snapshot_config::SnapshotConfig,
|
snapshot_config::SnapshotConfig,
|
||||||
snapshot_package::{self, AccountsPackage, AccountsPackageType, SnapshotType},
|
snapshot_package::{self, AccountsPackage, AccountsPackageType, SnapshotKind},
|
||||||
snapshot_utils::{self, SnapshotError},
|
snapshot_utils::{self, SnapshotError},
|
||||||
},
|
},
|
||||||
crossbeam_channel::{Receiver, SendError, Sender},
|
crossbeam_channel::{Receiver, SendError, Sender},
|
||||||
|
@ -257,7 +257,7 @@ impl SnapshotRequestHandler {
|
||||||
// then handle `y` first.
|
// then handle `y` first.
|
||||||
let (snapshot_request, accounts_package_type) = if z.1
|
let (snapshot_request, accounts_package_type) = if z.1
|
||||||
== AccountsPackageType::EpochAccountsHash
|
== AccountsPackageType::EpochAccountsHash
|
||||||
&& y.1 == AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
&& y.1 == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
&& y.0.snapshot_root_bank.slot() < z.0.snapshot_root_bank.slot()
|
&& 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`
|
// SAFETY: We know the len is > 1, so both `pop`s will return `Some`
|
||||||
|
@ -318,7 +318,7 @@ impl SnapshotRequestHandler {
|
||||||
// we should not rely on the state of this validator until startup verification is complete
|
// we should not rely on the state of this validator until startup verification is complete
|
||||||
assert!(snapshot_root_bank.is_startup_verification_complete());
|
assert!(snapshot_root_bank.is_startup_verification_complete());
|
||||||
|
|
||||||
if accounts_package_type == AccountsPackageType::Snapshot(SnapshotType::FullSnapshot) {
|
if accounts_package_type == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot) {
|
||||||
*last_full_snapshot_slot = Some(snapshot_root_bank.slot());
|
*last_full_snapshot_slot = Some(snapshot_root_bank.slot());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -749,13 +749,13 @@ fn new_accounts_package_type(
|
||||||
block_height,
|
block_height,
|
||||||
snapshot_config.full_snapshot_archive_interval_slots,
|
snapshot_config.full_snapshot_archive_interval_slots,
|
||||||
) {
|
) {
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
} else if snapshot_utils::should_take_incremental_snapshot(
|
} else if snapshot_utils::should_take_incremental_snapshot(
|
||||||
block_height,
|
block_height,
|
||||||
snapshot_config.incremental_snapshot_archive_interval_slots,
|
snapshot_config.incremental_snapshot_archive_interval_slots,
|
||||||
last_full_snapshot_slot,
|
last_full_snapshot_slot,
|
||||||
) {
|
) {
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(
|
||||||
last_full_snapshot_slot.unwrap(),
|
last_full_snapshot_slot.unwrap(),
|
||||||
))
|
))
|
||||||
} else {
|
} else {
|
||||||
|
@ -945,7 +945,7 @@ mod test {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
accounts_package_type,
|
accounts_package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
);
|
);
|
||||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 240);
|
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 240);
|
||||||
|
|
||||||
|
@ -956,7 +956,7 @@ mod test {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
accounts_package_type,
|
accounts_package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(240))
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(240))
|
||||||
);
|
);
|
||||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 300);
|
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 300);
|
||||||
|
|
||||||
|
@ -997,7 +997,7 @@ mod test {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
accounts_package_type,
|
accounts_package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
|
||||||
);
|
);
|
||||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 480);
|
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 480);
|
||||||
|
|
||||||
|
@ -1017,7 +1017,7 @@ mod test {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
accounts_package_type,
|
accounts_package_type,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(480))
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(480))
|
||||||
);
|
);
|
||||||
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 540);
|
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 540);
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ use {
|
||||||
FullSnapshotArchiveInfo, IncrementalSnapshotArchiveInfo, SnapshotArchiveInfoGetter,
|
FullSnapshotArchiveInfo, IncrementalSnapshotArchiveInfo, SnapshotArchiveInfoGetter,
|
||||||
},
|
},
|
||||||
snapshot_hash::SnapshotHash,
|
snapshot_hash::SnapshotHash,
|
||||||
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotPackage, SnapshotType},
|
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotKind, SnapshotPackage},
|
||||||
snapshot_utils::{
|
snapshot_utils::{
|
||||||
self, archive_snapshot_package, build_storage_from_snapshot_dir,
|
self, archive_snapshot_package, build_storage_from_snapshot_dir,
|
||||||
delete_contents_of_path, deserialize_snapshot_data_file,
|
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,
|
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
||||||
) -> snapshot_utils::Result<FullSnapshotArchiveInfo> {
|
) -> snapshot_utils::Result<FullSnapshotArchiveInfo> {
|
||||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
bank,
|
bank,
|
||||||
bank_snapshot_info,
|
bank_snapshot_info,
|
||||||
&full_snapshot_archives_dir,
|
&full_snapshot_archives_dir,
|
||||||
|
@ -1129,7 +1129,7 @@ pub fn package_and_archive_incremental_snapshot(
|
||||||
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
|
||||||
) -> snapshot_utils::Result<IncrementalSnapshotArchiveInfo> {
|
) -> snapshot_utils::Result<IncrementalSnapshotArchiveInfo> {
|
||||||
let accounts_package = AccountsPackage::new_for_snapshot(
|
let accounts_package = AccountsPackage::new_for_snapshot(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(
|
||||||
incremental_snapshot_base_slot,
|
incremental_snapshot_base_slot,
|
||||||
)),
|
)),
|
||||||
bank,
|
bank,
|
||||||
|
|
|
@ -60,14 +60,14 @@ impl AccountsPackage {
|
||||||
snapshot_version: SnapshotVersion,
|
snapshot_version: SnapshotVersion,
|
||||||
accounts_hash_for_testing: Option<AccountsHash>,
|
accounts_hash_for_testing: Option<AccountsHash>,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
if let AccountsPackageType::Snapshot(snapshot_type) = package_type {
|
if let AccountsPackageType::Snapshot(snapshot_kind) = package_type {
|
||||||
info!(
|
info!(
|
||||||
"Package snapshot for bank {} has {} account storage entries (snapshot type: {:?})",
|
"Package snapshot for bank {} has {} account storage entries (snapshot kind: {:?})",
|
||||||
bank.slot(),
|
bank.slot(),
|
||||||
snapshot_storages.len(),
|
snapshot_storages.len(),
|
||||||
snapshot_type,
|
snapshot_kind,
|
||||||
);
|
);
|
||||||
if let SnapshotType::IncrementalSnapshot(incremental_snapshot_base_slot) = snapshot_type
|
if let SnapshotKind::IncrementalSnapshot(incremental_snapshot_base_slot) = snapshot_kind
|
||||||
{
|
{
|
||||||
assert!(
|
assert!(
|
||||||
bank.slot() > incremental_snapshot_base_slot,
|
bank.slot() > incremental_snapshot_base_slot,
|
||||||
|
@ -229,7 +229,7 @@ pub struct SupplementalSnapshotInfo {
|
||||||
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
|
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
|
||||||
pub enum AccountsPackageType {
|
pub enum AccountsPackageType {
|
||||||
AccountsHashVerifier,
|
AccountsHashVerifier,
|
||||||
Snapshot(SnapshotType),
|
Snapshot(SnapshotKind),
|
||||||
EpochAccountsHash,
|
EpochAccountsHash,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,7 +240,7 @@ pub struct SnapshotPackage {
|
||||||
pub bank_snapshot_dir: PathBuf,
|
pub bank_snapshot_dir: PathBuf,
|
||||||
pub snapshot_storages: Vec<Arc<AccountStorageEntry>>,
|
pub snapshot_storages: Vec<Arc<AccountStorageEntry>>,
|
||||||
pub snapshot_version: SnapshotVersion,
|
pub snapshot_version: SnapshotVersion,
|
||||||
pub snapshot_type: SnapshotType,
|
pub snapshot_kind: SnapshotKind,
|
||||||
|
|
||||||
/// The instant this snapshot package was sent to the queue.
|
/// The instant this snapshot package was sent to the queue.
|
||||||
/// Used to track how long snapshot packages wait before handling.
|
/// Used to track how long snapshot packages wait before handling.
|
||||||
|
@ -249,7 +249,7 @@ pub struct SnapshotPackage {
|
||||||
|
|
||||||
impl SnapshotPackage {
|
impl SnapshotPackage {
|
||||||
pub fn new(accounts_package: AccountsPackage, accounts_hash: AccountsHashEnum) -> Self {
|
pub fn new(accounts_package: AccountsPackage, accounts_hash: AccountsHashEnum) -> Self {
|
||||||
let AccountsPackageType::Snapshot(snapshot_type) = accounts_package.package_type else {
|
let AccountsPackageType::Snapshot(snapshot_kind) = accounts_package.package_type else {
|
||||||
panic!(
|
panic!(
|
||||||
"The AccountsPackage must be of type Snapshot in order to make a SnapshotPackage!"
|
"The AccountsPackage must be of type Snapshot in order to make a SnapshotPackage!"
|
||||||
);
|
);
|
||||||
|
@ -262,14 +262,14 @@ impl SnapshotPackage {
|
||||||
let snapshot_hash =
|
let snapshot_hash =
|
||||||
SnapshotHash::new(&accounts_hash, snapshot_info.epoch_accounts_hash.as_ref());
|
SnapshotHash::new(&accounts_hash, snapshot_info.epoch_accounts_hash.as_ref());
|
||||||
let mut snapshot_storages = accounts_package.snapshot_storages;
|
let mut snapshot_storages = accounts_package.snapshot_storages;
|
||||||
let snapshot_archive_path = match snapshot_type {
|
let snapshot_archive_path = match snapshot_kind {
|
||||||
SnapshotType::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
|
SnapshotKind::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
|
||||||
snapshot_info.full_snapshot_archives_dir,
|
snapshot_info.full_snapshot_archives_dir,
|
||||||
accounts_package.slot,
|
accounts_package.slot,
|
||||||
&snapshot_hash,
|
&snapshot_hash,
|
||||||
snapshot_info.archive_format,
|
snapshot_info.archive_format,
|
||||||
),
|
),
|
||||||
SnapshotType::IncrementalSnapshot(incremental_snapshot_base_slot) => {
|
SnapshotKind::IncrementalSnapshot(incremental_snapshot_base_slot) => {
|
||||||
snapshot_storages.retain(|storage| storage.slot() > incremental_snapshot_base_slot);
|
snapshot_storages.retain(|storage| storage.slot() > incremental_snapshot_base_slot);
|
||||||
assert!(
|
assert!(
|
||||||
snapshot_storages.iter().all(|storage| storage.slot() > incremental_snapshot_base_slot),
|
snapshot_storages.iter().all(|storage| storage.slot() > incremental_snapshot_base_slot),
|
||||||
|
@ -296,7 +296,7 @@ impl SnapshotPackage {
|
||||||
bank_snapshot_dir: snapshot_info.bank_snapshot_dir,
|
bank_snapshot_dir: snapshot_info.bank_snapshot_dir,
|
||||||
snapshot_storages,
|
snapshot_storages,
|
||||||
snapshot_version: snapshot_info.snapshot_version,
|
snapshot_version: snapshot_info.snapshot_version,
|
||||||
snapshot_type,
|
snapshot_kind,
|
||||||
enqueued: Instant::now(),
|
enqueued: Instant::now(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -305,7 +305,7 @@ impl SnapshotPackage {
|
||||||
impl std::fmt::Debug for SnapshotPackage {
|
impl std::fmt::Debug for SnapshotPackage {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
f.debug_struct("SnapshotPackage")
|
f.debug_struct("SnapshotPackage")
|
||||||
.field("type", &self.snapshot_type)
|
.field("type", &self.snapshot_kind)
|
||||||
.field("slot", &self.slot())
|
.field("slot", &self.slot())
|
||||||
.field("block_height", &self.block_height)
|
.field("block_height", &self.block_height)
|
||||||
.finish_non_exhaustive()
|
.finish_non_exhaustive()
|
||||||
|
@ -318,20 +318,20 @@ impl SnapshotArchiveInfoGetter for SnapshotPackage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Snapshots come in two flavors, Full and Incremental. The IncrementalSnapshot has a Slot field,
|
/// Snapshots come in two kinds, Full and Incremental. The IncrementalSnapshot has a Slot field,
|
||||||
/// which is the incremental snapshot base slot.
|
/// which is the incremental snapshot base slot.
|
||||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||||
pub enum SnapshotType {
|
pub enum SnapshotKind {
|
||||||
FullSnapshot,
|
FullSnapshot,
|
||||||
IncrementalSnapshot(Slot),
|
IncrementalSnapshot(Slot),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SnapshotType {
|
impl SnapshotKind {
|
||||||
pub fn is_full_snapshot(&self) -> bool {
|
pub fn is_full_snapshot(&self) -> bool {
|
||||||
matches!(self, SnapshotType::FullSnapshot)
|
matches!(self, SnapshotKind::FullSnapshot)
|
||||||
}
|
}
|
||||||
pub fn is_incremental_snapshot(&self) -> bool {
|
pub fn is_incremental_snapshot(&self) -> bool {
|
||||||
matches!(self, SnapshotType::IncrementalSnapshot(_))
|
matches!(self, SnapshotKind::IncrementalSnapshot(_))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
use {
|
use {
|
||||||
super::{
|
super::{
|
||||||
AccountsPackage, AccountsPackageType, SnapshotArchiveInfoGetter, SnapshotPackage,
|
AccountsPackage, AccountsPackageType, SnapshotArchiveInfoGetter, SnapshotKind,
|
||||||
SnapshotType,
|
SnapshotPackage,
|
||||||
},
|
},
|
||||||
std::cmp::Ordering::{self, Equal, Greater, Less},
|
std::cmp::Ordering::{self, Equal, Greater, Less},
|
||||||
};
|
};
|
||||||
|
@ -9,7 +9,7 @@ use {
|
||||||
/// Compare snapshot packages by priority; first by type, then by slot
|
/// Compare snapshot packages by priority; first by type, then by slot
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn cmp_snapshot_packages_by_priority(a: &SnapshotPackage, b: &SnapshotPackage) -> Ordering {
|
pub fn cmp_snapshot_packages_by_priority(a: &SnapshotPackage, b: &SnapshotPackage) -> Ordering {
|
||||||
cmp_snapshot_types_by_priority(&a.snapshot_type, &b.snapshot_type).then(a.slot().cmp(&b.slot()))
|
cmp_snapshot_kinds_by_priority(&a.snapshot_kind, &b.snapshot_kind).then(a.slot().cmp(&b.slot()))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Compare accounts packages by priority; first by type, then by slot
|
/// Compare accounts packages by priority; first by type, then by slot
|
||||||
|
@ -27,7 +27,7 @@ pub fn cmp_accounts_packages_by_priority(a: &AccountsPackage, b: &AccountsPackag
|
||||||
/// - Incremental Snapshot
|
/// - Incremental Snapshot
|
||||||
/// - Accounts Hash Verifier
|
/// - Accounts Hash Verifier
|
||||||
///
|
///
|
||||||
/// If two `Snapshot`s are compared, their snapshot types are the tiebreaker.
|
/// If two `Snapshot`s are compared, their snapshot kinds are the tiebreaker.
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn cmp_accounts_package_types_by_priority(
|
pub fn cmp_accounts_package_types_by_priority(
|
||||||
a: &AccountsPackageType,
|
a: &AccountsPackageType,
|
||||||
|
@ -41,8 +41,8 @@ pub fn cmp_accounts_package_types_by_priority(
|
||||||
(_, EpochAccountsHash) => Less,
|
(_, EpochAccountsHash) => Less,
|
||||||
|
|
||||||
// Snapshot packages
|
// Snapshot packages
|
||||||
(Snapshot(snapshot_type_a), Snapshot(snapshot_type_b)) => {
|
(Snapshot(snapshot_kind_a), Snapshot(snapshot_kind_b)) => {
|
||||||
cmp_snapshot_types_by_priority(snapshot_type_a, snapshot_type_b)
|
cmp_snapshot_kinds_by_priority(snapshot_kind_a, snapshot_kind_b)
|
||||||
}
|
}
|
||||||
(Snapshot(_), _) => Greater,
|
(Snapshot(_), _) => Greater,
|
||||||
(_, Snapshot(_)) => Less,
|
(_, Snapshot(_)) => Less,
|
||||||
|
@ -52,13 +52,13 @@ pub fn cmp_accounts_package_types_by_priority(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Compare snapshot types by priority
|
/// Compare snapshot kinds by priority
|
||||||
///
|
///
|
||||||
/// Full snapshots are higher in priority than incremental snapshots.
|
/// Full snapshots are higher in priority than incremental snapshots.
|
||||||
/// If two `IncrementalSnapshot`s are compared, their base slots are the tiebreaker.
|
/// If two `IncrementalSnapshot`s are compared, their base slots are the tiebreaker.
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn cmp_snapshot_types_by_priority(a: &SnapshotType, b: &SnapshotType) -> Ordering {
|
pub fn cmp_snapshot_kinds_by_priority(a: &SnapshotKind, b: &SnapshotKind) -> Ordering {
|
||||||
use SnapshotType::*;
|
use SnapshotKind::*;
|
||||||
match (a, b) {
|
match (a, b) {
|
||||||
(FullSnapshot, FullSnapshot) => Equal,
|
(FullSnapshot, FullSnapshot) => Equal,
|
||||||
(FullSnapshot, IncrementalSnapshot(_)) => Greater,
|
(FullSnapshot, IncrementalSnapshot(_)) => Greater,
|
||||||
|
@ -84,7 +84,7 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_cmp_snapshot_packages_by_priority() {
|
fn test_cmp_snapshot_packages_by_priority() {
|
||||||
fn new(snapshot_type: SnapshotType, slot: Slot) -> SnapshotPackage {
|
fn new(snapshot_kind: SnapshotKind, slot: Slot) -> SnapshotPackage {
|
||||||
SnapshotPackage {
|
SnapshotPackage {
|
||||||
snapshot_archive_info: SnapshotArchiveInfo {
|
snapshot_archive_info: SnapshotArchiveInfo {
|
||||||
path: PathBuf::default(),
|
path: PathBuf::default(),
|
||||||
|
@ -96,60 +96,60 @@ mod tests {
|
||||||
bank_snapshot_dir: PathBuf::default(),
|
bank_snapshot_dir: PathBuf::default(),
|
||||||
snapshot_storages: Vec::default(),
|
snapshot_storages: Vec::default(),
|
||||||
snapshot_version: SnapshotVersion::default(),
|
snapshot_version: SnapshotVersion::default(),
|
||||||
snapshot_type,
|
snapshot_kind,
|
||||||
enqueued: Instant::now(),
|
enqueued: Instant::now(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (snapshot_package_a, snapshot_package_b, expected_result) in [
|
for (snapshot_package_a, snapshot_package_b, expected_result) in [
|
||||||
(
|
(
|
||||||
new(SnapshotType::FullSnapshot, 11),
|
new(SnapshotKind::FullSnapshot, 11),
|
||||||
new(SnapshotType::FullSnapshot, 22),
|
new(SnapshotKind::FullSnapshot, 22),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::FullSnapshot, 22),
|
new(SnapshotKind::FullSnapshot, 22),
|
||||||
new(SnapshotType::FullSnapshot, 22),
|
new(SnapshotKind::FullSnapshot, 22),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::FullSnapshot, 33),
|
new(SnapshotKind::FullSnapshot, 33),
|
||||||
new(SnapshotType::FullSnapshot, 22),
|
new(SnapshotKind::FullSnapshot, 22),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::FullSnapshot, 22),
|
new(SnapshotKind::FullSnapshot, 22),
|
||||||
new(SnapshotType::IncrementalSnapshot(88), 99),
|
new(SnapshotKind::IncrementalSnapshot(88), 99),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::IncrementalSnapshot(11), 55),
|
new(SnapshotKind::IncrementalSnapshot(11), 55),
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::IncrementalSnapshot(33), 55),
|
new(SnapshotKind::IncrementalSnapshot(33), 55),
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 44),
|
new(SnapshotKind::IncrementalSnapshot(22), 44),
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 66),
|
new(SnapshotKind::IncrementalSnapshot(22), 66),
|
||||||
new(SnapshotType::IncrementalSnapshot(22), 55),
|
new(SnapshotKind::IncrementalSnapshot(22), 55),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
] {
|
] {
|
||||||
|
@ -189,7 +189,7 @@ mod tests {
|
||||||
(
|
(
|
||||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
Greater,
|
Greater,
|
||||||
|
@ -197,7 +197,7 @@ mod tests {
|
||||||
(
|
(
|
||||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
Greater,
|
Greater,
|
||||||
|
@ -209,7 +209,7 @@ mod tests {
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||||
|
@ -217,51 +217,51 @@ mod tests {
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
11,
|
11,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
33,
|
33,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(AccountsPackageType::AccountsHashVerifier, 123),
|
new(AccountsPackageType::AccountsHashVerifier, 123),
|
||||||
|
@ -269,7 +269,7 @@ mod tests {
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(AccountsPackageType::EpochAccountsHash, 123),
|
new(AccountsPackageType::EpochAccountsHash, 123),
|
||||||
|
@ -277,73 +277,73 @@ mod tests {
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(6)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
11,
|
11,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
33,
|
33,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
22,
|
22,
|
||||||
),
|
),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(4)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
new(
|
new(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
123,
|
123,
|
||||||
),
|
),
|
||||||
new(AccountsPackageType::AccountsHashVerifier, 123),
|
new(AccountsPackageType::AccountsHashVerifier, 123),
|
||||||
|
@ -381,12 +381,12 @@ mod tests {
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::EpochAccountsHash,
|
AccountsPackageType::EpochAccountsHash,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::EpochAccountsHash,
|
AccountsPackageType::EpochAccountsHash,
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
|
@ -395,52 +395,52 @@ mod tests {
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
AccountsPackageType::EpochAccountsHash,
|
AccountsPackageType::EpochAccountsHash,
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
AccountsPackageType::AccountsHashVerifier,
|
AccountsPackageType::AccountsHashVerifier,
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
AccountsPackageType::EpochAccountsHash,
|
AccountsPackageType::EpochAccountsHash,
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
|
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(6)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(4)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
|
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
|
||||||
AccountsPackageType::AccountsHashVerifier,
|
AccountsPackageType::AccountsHashVerifier,
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
|
@ -459,40 +459,40 @@ mod tests {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_cmp_snapshot_types_by_priority() {
|
fn test_cmp_snapshot_kinds_by_priority() {
|
||||||
for (snapshot_type_a, snapshot_type_b, expected_result) in [
|
for (snapshot_kind_a, snapshot_kind_b, expected_result) in [
|
||||||
(
|
(
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
SnapshotType::IncrementalSnapshot(5),
|
SnapshotKind::IncrementalSnapshot(5),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
SnapshotType::IncrementalSnapshot(5),
|
SnapshotKind::IncrementalSnapshot(5),
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
SnapshotType::IncrementalSnapshot(5),
|
SnapshotKind::IncrementalSnapshot(5),
|
||||||
SnapshotType::IncrementalSnapshot(6),
|
SnapshotKind::IncrementalSnapshot(6),
|
||||||
Less,
|
Less,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
SnapshotType::IncrementalSnapshot(5),
|
SnapshotKind::IncrementalSnapshot(5),
|
||||||
SnapshotType::IncrementalSnapshot(5),
|
SnapshotKind::IncrementalSnapshot(5),
|
||||||
Equal,
|
Equal,
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
SnapshotType::IncrementalSnapshot(5),
|
SnapshotKind::IncrementalSnapshot(5),
|
||||||
SnapshotType::IncrementalSnapshot(4),
|
SnapshotKind::IncrementalSnapshot(4),
|
||||||
Greater,
|
Greater,
|
||||||
),
|
),
|
||||||
] {
|
] {
|
||||||
let actual_result = cmp_snapshot_types_by_priority(&snapshot_type_a, &snapshot_type_b);
|
let actual_result = cmp_snapshot_kinds_by_priority(&snapshot_kind_a, &snapshot_kind_b);
|
||||||
assert_eq!(expected_result, actual_result);
|
assert_eq!(expected_result, actual_result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -846,7 +846,7 @@ pub fn archive_snapshot_package(
|
||||||
),
|
),
|
||||||
("duration_ms", timer.as_ms(), i64),
|
("duration_ms", timer.as_ms(), i64),
|
||||||
(
|
(
|
||||||
if snapshot_package.snapshot_type.is_full_snapshot() {
|
if snapshot_package.snapshot_kind.is_full_snapshot() {
|
||||||
"full-snapshot-archive-size"
|
"full-snapshot-archive-size"
|
||||||
} else {
|
} else {
|
||||||
"incremental-snapshot-archive-size"
|
"incremental-snapshot-archive-size"
|
||||||
|
|
|
@ -16,7 +16,7 @@ use {
|
||||||
solana_metrics::datapoint_info,
|
solana_metrics::datapoint_info,
|
||||||
solana_rpc_client::rpc_client::RpcClient,
|
solana_rpc_client::rpc_client::RpcClient,
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
snapshot_archive_info::SnapshotArchiveInfoGetter, snapshot_package::SnapshotType,
|
snapshot_archive_info::SnapshotArchiveInfoGetter, snapshot_package::SnapshotKind,
|
||||||
snapshot_utils,
|
snapshot_utils,
|
||||||
},
|
},
|
||||||
solana_sdk::{
|
solana_sdk::{
|
||||||
|
@ -1176,7 +1176,7 @@ fn download_snapshots(
|
||||||
download_abort_count,
|
download_abort_count,
|
||||||
rpc_contact_info,
|
rpc_contact_info,
|
||||||
full_snapshot_hash,
|
full_snapshot_hash,
|
||||||
SnapshotType::FullSnapshot,
|
SnapshotKind::FullSnapshot,
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1208,7 +1208,7 @@ fn download_snapshots(
|
||||||
download_abort_count,
|
download_abort_count,
|
||||||
rpc_contact_info,
|
rpc_contact_info,
|
||||||
incremental_snapshot_hash,
|
incremental_snapshot_hash,
|
||||||
SnapshotType::IncrementalSnapshot(full_snapshot_hash.0),
|
SnapshotKind::IncrementalSnapshot(full_snapshot_hash.0),
|
||||||
)?;
|
)?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1231,7 +1231,7 @@ fn download_snapshot(
|
||||||
download_abort_count: &mut u64,
|
download_abort_count: &mut u64,
|
||||||
rpc_contact_info: &ContactInfo,
|
rpc_contact_info: &ContactInfo,
|
||||||
desired_snapshot_hash: (Slot, Hash),
|
desired_snapshot_hash: (Slot, Hash),
|
||||||
snapshot_type: SnapshotType,
|
snapshot_kind: SnapshotKind,
|
||||||
) -> Result<(), String> {
|
) -> Result<(), String> {
|
||||||
let maximum_full_snapshot_archives_to_retain = validator_config
|
let maximum_full_snapshot_archives_to_retain = validator_config
|
||||||
.snapshot_config
|
.snapshot_config
|
||||||
|
@ -1253,7 +1253,7 @@ fn download_snapshot(
|
||||||
full_snapshot_archives_dir,
|
full_snapshot_archives_dir,
|
||||||
incremental_snapshot_archives_dir,
|
incremental_snapshot_archives_dir,
|
||||||
desired_snapshot_hash,
|
desired_snapshot_hash,
|
||||||
snapshot_type,
|
snapshot_kind,
|
||||||
maximum_full_snapshot_archives_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
maximum_incremental_snapshot_archives_to_retain,
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
use_progress_bar,
|
use_progress_bar,
|
||||||
|
|
Loading…
Reference in New Issue