Renames SnapshotType to SnapshotKind (#32906)

This commit is contained in:
Brooks 2023-08-19 19:55:29 -04:00 committed by GitHub
parent aa4598d436
commit f9bc3cec24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 172 additions and 172 deletions

View File

@ -19,8 +19,8 @@ use {
serde_snapshot::BankIncrementalSnapshotPersistence,
snapshot_config::SnapshotConfig,
snapshot_package::{
self, retain_max_n_elements, AccountsPackage, AccountsPackageType, SnapshotPackage,
SnapshotType,
self, retain_max_n_elements, AccountsPackage, AccountsPackageType, SnapshotKind,
SnapshotPackage,
},
snapshot_utils,
},
@ -200,7 +200,7 @@ impl AccountsHashVerifier {
// 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(SnapshotType::FullSnapshot)
&& y.package_type == AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
&& y.slot < z.slot
{
// 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 {
AccountsPackageType::AccountsHashVerifier => CalcAccountsHashFlavor::Full,
AccountsPackageType::EpochAccountsHash => CalcAccountsHashFlavor::Full,
AccountsPackageType::Snapshot(snapshot_type) => match snapshot_type {
SnapshotType::FullSnapshot => CalcAccountsHashFlavor::Full,
SnapshotType::IncrementalSnapshot(_) => {
AccountsPackageType::Snapshot(snapshot_kind) => match snapshot_kind {
SnapshotKind::FullSnapshot => CalcAccountsHashFlavor::Full,
SnapshotKind::IncrementalSnapshot(_) => {
if accounts_package.is_incremental_accounts_hash_feature_enabled {
CalcAccountsHashFlavor::Incremental
} else {
@ -300,7 +300,7 @@ impl AccountsHashVerifier {
(accounts_hash.into(), accounts_hash, None)
}
CalcAccountsHashFlavor::Incremental => {
let AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(base_slot)) =
let AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(base_slot)) =
accounts_package.package_type
else {
panic!("Calculating incremental accounts hash requires a base slot");
@ -337,7 +337,7 @@ impl AccountsHashVerifier {
}
if accounts_package.package_type
== AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
== AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
{
accounts_package
.accounts
@ -581,7 +581,7 @@ mod tests {
rand::seq::SliceRandom,
solana_gossip::contact_info::ContactInfo,
solana_runtime::{
snapshot_bank_utils::DISABLED_SNAPSHOT_ARCHIVE_INTERVAL, snapshot_package::SnapshotType,
snapshot_bank_utils::DISABLED_SNAPSHOT_ARCHIVE_INTERVAL, snapshot_package::SnapshotKind,
},
solana_sdk::{
signature::{Keypair, Signer},
@ -667,13 +667,13 @@ mod tests {
}
fn new_fss(slot: Slot) -> AccountsPackage {
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
slot,
)
}
fn new_iss(slot: Slot, base: Slot) -> AccountsPackage {
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(base)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(base)),
slot,
)
}
@ -751,7 +751,7 @@ mod tests {
.unwrap();
assert_eq!(
account_package.package_type,
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
);
assert_eq!(account_package.slot, 400);
assert_eq!(num_re_enqueued_accounts_packages, 7);
@ -769,7 +769,7 @@ mod tests {
.unwrap();
assert_eq!(
account_package.package_type,
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(400))
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(400))
);
assert_eq!(account_package.slot, 420);
assert_eq!(num_re_enqueued_accounts_packages, 3);
@ -842,7 +842,7 @@ mod tests {
.unwrap();
assert_eq!(
account_package.package_type,
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
);
assert_eq!(account_package.slot, 100);
assert_eq!(num_re_enqueued_accounts_packages, 10);
@ -877,7 +877,7 @@ mod tests {
.unwrap();
assert_eq!(
account_package.package_type,
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(100))
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(100))
);
assert_eq!(account_package.slot, 220);
assert_eq!(num_re_enqueued_accounts_packages, 2);

View File

@ -94,7 +94,7 @@ impl SnapshotPackagerService {
if let Some(snapshot_gossip_manager) = snapshot_gossip_manager.as_mut() {
snapshot_gossip_manager.push_snapshot_hash(
snapshot_package.snapshot_type,
snapshot_package.snapshot_kind,
(snapshot_package.slot(), *snapshot_package.hash()),
);
}
@ -206,7 +206,7 @@ mod tests {
snapshot_archive_info::SnapshotArchiveInfo,
snapshot_bank_utils,
snapshot_hash::SnapshotHash,
snapshot_package::{SnapshotPackage, SnapshotType},
snapshot_package::{SnapshotKind, SnapshotPackage},
snapshot_utils::{self, ArchiveFormat, SnapshotVersion},
},
solana_sdk::{clock::Slot, genesis_config::GenesisConfig, hash::Hash},
@ -296,7 +296,7 @@ mod tests {
/// Otherwise, they should be dropped.
#[test]
fn test_get_next_snapshot_package() {
fn new(snapshot_type: SnapshotType, slot: Slot) -> SnapshotPackage {
fn new(snapshot_kind: SnapshotKind, slot: Slot) -> SnapshotPackage {
SnapshotPackage {
snapshot_archive_info: SnapshotArchiveInfo {
path: PathBuf::default(),
@ -308,15 +308,15 @@ mod tests {
bank_snapshot_dir: PathBuf::default(),
snapshot_storages: Vec::default(),
snapshot_version: SnapshotVersion::default(),
snapshot_type,
snapshot_kind,
enqueued: Instant::now(),
}
}
fn new_full(slot: Slot) -> SnapshotPackage {
new(SnapshotType::FullSnapshot, slot)
new(SnapshotKind::FullSnapshot, slot)
}
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();
@ -350,7 +350,7 @@ mod tests {
&snapshot_package_receiver,
)
.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!(num_re_enqueued_snapshot_packages, 2);
@ -366,8 +366,8 @@ mod tests {
)
.unwrap();
assert_eq!(
snapshot_package.snapshot_type,
SnapshotType::IncrementalSnapshot(400),
snapshot_package.snapshot_kind,
SnapshotKind::IncrementalSnapshot(400),
);
assert_eq!(snapshot_package.slot(), 420);
assert_eq!(num_re_enqueued_snapshot_packages, 0);

View File

@ -4,7 +4,7 @@ use {
snapshot_hash::{
FullSnapshotHash, IncrementalSnapshotHash, SnapshotHash, StartingSnapshotHashes,
},
snapshot_package::{retain_max_n_elements, SnapshotType},
snapshot_package::{retain_max_n_elements, SnapshotKind},
},
solana_sdk::{clock::Slot, hash::Hash},
std::sync::Arc,
@ -58,14 +58,14 @@ impl SnapshotGossipManager {
/// Push new snapshot hash to the cluster via CRDS
pub fn push_snapshot_hash(
&mut self,
snapshot_type: SnapshotType,
snapshot_kind: SnapshotKind,
snapshot_hash: (Slot, SnapshotHash),
) {
match snapshot_type {
SnapshotType::FullSnapshot => {
match snapshot_kind {
SnapshotKind::FullSnapshot => {
self.push_full_snapshot_hash(FullSnapshotHash(snapshot_hash));
}
SnapshotType::IncrementalSnapshot(base_slot) => {
SnapshotKind::IncrementalSnapshot(base_slot) => {
self.push_incremental_snapshot_hash(
IncrementalSnapshotHash(snapshot_hash),
base_slot,

View File

@ -30,7 +30,7 @@ use {
snapshot_bank_utils::{self, DISABLED_SNAPSHOT_ARCHIVE_INTERVAL},
snapshot_config::SnapshotConfig,
snapshot_hash::SnapshotHash,
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotPackage, SnapshotType},
snapshot_package::{AccountsPackage, AccountsPackageType, 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(SnapshotType::FullSnapshot),
AccountsPackageType::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(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
&bank,
&bank_snapshot_info,
full_snapshot_archives_dir,

View File

@ -5,7 +5,7 @@ use {
log::*,
solana_runtime::{
snapshot_hash::SnapshotHash,
snapshot_package::SnapshotType,
snapshot_package::SnapshotKind,
snapshot_utils::{self, ArchiveFormat},
},
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.
pub fn download_snapshot_archive(
rpc_addr: &SocketAddr,
full_snapshot_archives_dir: &Path,
incremental_snapshot_archives_dir: &Path,
desired_snapshot_hash: (Slot, SnapshotHash),
snapshot_type: SnapshotType,
snapshot_kind: SnapshotKind,
maximum_full_snapshot_archives_to_retain: NonZeroUsize,
maximum_incremental_snapshot_archives_to_retain: NonZeroUsize,
use_progress_bar: bool,
@ -277,9 +277,9 @@ pub fn download_snapshot_archive(
);
let snapshot_archives_remote_dir =
snapshot_utils::build_snapshot_archives_remote_dir(match snapshot_type {
SnapshotType::FullSnapshot => full_snapshot_archives_dir,
SnapshotType::IncrementalSnapshot(_) => incremental_snapshot_archives_dir,
snapshot_utils::build_snapshot_archives_remote_dir(match snapshot_kind {
SnapshotKind::FullSnapshot => full_snapshot_archives_dir,
SnapshotKind::IncrementalSnapshot(_) => incremental_snapshot_archives_dir,
});
fs::create_dir_all(&snapshot_archives_remote_dir).unwrap();
@ -290,14 +290,14 @@ pub fn download_snapshot_archive(
ArchiveFormat::TarLz4,
ArchiveFormat::Tar, // `solana-test-validator` creates uncompressed snapshots
] {
let destination_path = match snapshot_type {
SnapshotType::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
let destination_path = match snapshot_kind {
SnapshotKind::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
&snapshot_archives_remote_dir,
desired_snapshot_hash.0,
&desired_snapshot_hash.1,
archive_format,
),
SnapshotType::IncrementalSnapshot(base_slot) => {
SnapshotKind::IncrementalSnapshot(base_slot) => {
snapshot_utils::build_incremental_snapshot_archive_path(
&snapshot_archives_remote_dir,
base_slot,

View File

@ -60,7 +60,7 @@ use {
snapshot_archive_info::SnapshotArchiveInfoGetter,
snapshot_bank_utils,
snapshot_config::SnapshotConfig,
snapshot_package::SnapshotType,
snapshot_package::SnapshotKind,
snapshot_utils::{self},
vote_parser,
},
@ -552,7 +552,7 @@ fn test_snapshot_download() {
full_snapshot_archive_info.slot(),
*full_snapshot_archive_info.hash(),
),
SnapshotType::FullSnapshot,
SnapshotKind::FullSnapshot,
validator_snapshot_test_config
.validator_config
.snapshot_config
@ -683,7 +683,7 @@ fn test_incremental_snapshot_download() {
full_snapshot_archive_info.slot(),
*full_snapshot_archive_info.hash(),
),
SnapshotType::FullSnapshot,
SnapshotKind::FullSnapshot,
validator_snapshot_test_config
.validator_config
.snapshot_config
@ -711,7 +711,7 @@ fn test_incremental_snapshot_download() {
incremental_snapshot_archive_info.slot(),
*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_config
.snapshot_config
@ -854,7 +854,7 @@ fn test_incremental_snapshot_download_with_crossing_full_snapshot_interval_at_st
.incremental_snapshot_archives_dir
.path(),
(full_snapshot_archive.slot(), *full_snapshot_archive.hash()),
SnapshotType::FullSnapshot,
SnapshotKind::FullSnapshot,
validator_snapshot_test_config
.validator_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.hash(),
),
SnapshotType::IncrementalSnapshot(incremental_snapshot_archive.base_slot()),
SnapshotKind::IncrementalSnapshot(incremental_snapshot_archive.base_slot()),
validator_snapshot_test_config
.validator_config
.snapshot_config

View File

@ -9,7 +9,7 @@ use {
bank_forks::BankForks,
snapshot_bank_utils,
snapshot_config::SnapshotConfig,
snapshot_package::{self, AccountsPackage, AccountsPackageType, SnapshotType},
snapshot_package::{self, AccountsPackage, AccountsPackageType, SnapshotKind},
snapshot_utils::{self, SnapshotError},
},
crossbeam_channel::{Receiver, SendError, Sender},
@ -257,7 +257,7 @@ impl SnapshotRequestHandler {
// then handle `y` first.
let (snapshot_request, accounts_package_type) = if z.1
== 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()
{
// 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
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());
}
@ -749,13 +749,13 @@ fn new_accounts_package_type(
block_height,
snapshot_config.full_snapshot_archive_interval_slots,
) {
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
AccountsPackageType::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(SnapshotType::IncrementalSnapshot(
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(
last_full_snapshot_slot.unwrap(),
))
} else {
@ -945,7 +945,7 @@ mod test {
.unwrap();
assert_eq!(
accounts_package_type,
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
);
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 240);
@ -956,7 +956,7 @@ mod test {
.unwrap();
assert_eq!(
accounts_package_type,
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(240))
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(240))
);
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 300);
@ -997,7 +997,7 @@ mod test {
.unwrap();
assert_eq!(
accounts_package_type,
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot)
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot)
);
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 480);
@ -1017,7 +1017,7 @@ mod test {
.unwrap();
assert_eq!(
accounts_package_type,
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(480))
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(480))
);
assert_eq!(snapshot_request.snapshot_root_bank.slot(), 540);

View File

@ -11,7 +11,7 @@ use {
FullSnapshotArchiveInfo, IncrementalSnapshotArchiveInfo, SnapshotArchiveInfoGetter,
},
snapshot_hash::SnapshotHash,
snapshot_package::{AccountsPackage, AccountsPackageType, SnapshotPackage, SnapshotType},
snapshot_package::{AccountsPackage, AccountsPackageType, 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(SnapshotType::FullSnapshot),
AccountsPackageType::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(SnapshotType::IncrementalSnapshot(
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(
incremental_snapshot_base_slot,
)),
bank,

View File

@ -60,14 +60,14 @@ impl AccountsPackage {
snapshot_version: SnapshotVersion,
accounts_hash_for_testing: Option<AccountsHash>,
) -> Self {
if let AccountsPackageType::Snapshot(snapshot_type) = package_type {
if let AccountsPackageType::Snapshot(snapshot_kind) = package_type {
info!(
"Package snapshot for bank {} has {} account storage entries (snapshot type: {:?})",
"Package snapshot for bank {} has {} account storage entries (snapshot kind: {:?})",
bank.slot(),
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!(
bank.slot() > incremental_snapshot_base_slot,
@ -229,7 +229,7 @@ pub struct SupplementalSnapshotInfo {
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
pub enum AccountsPackageType {
AccountsHashVerifier,
Snapshot(SnapshotType),
Snapshot(SnapshotKind),
EpochAccountsHash,
}
@ -240,7 +240,7 @@ pub struct SnapshotPackage {
pub bank_snapshot_dir: PathBuf,
pub snapshot_storages: Vec<Arc<AccountStorageEntry>>,
pub snapshot_version: SnapshotVersion,
pub snapshot_type: SnapshotType,
pub snapshot_kind: SnapshotKind,
/// The instant this snapshot package was sent to the queue.
/// Used to track how long snapshot packages wait before handling.
@ -249,7 +249,7 @@ pub struct SnapshotPackage {
impl SnapshotPackage {
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!(
"The AccountsPackage must be of type Snapshot in order to make a SnapshotPackage!"
);
@ -262,14 +262,14 @@ impl SnapshotPackage {
let snapshot_hash =
SnapshotHash::new(&accounts_hash, snapshot_info.epoch_accounts_hash.as_ref());
let mut snapshot_storages = accounts_package.snapshot_storages;
let snapshot_archive_path = match snapshot_type {
SnapshotType::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
let snapshot_archive_path = match snapshot_kind {
SnapshotKind::FullSnapshot => snapshot_utils::build_full_snapshot_archive_path(
snapshot_info.full_snapshot_archives_dir,
accounts_package.slot,
&snapshot_hash,
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);
assert!(
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,
snapshot_storages,
snapshot_version: snapshot_info.snapshot_version,
snapshot_type,
snapshot_kind,
enqueued: Instant::now(),
}
}
@ -305,7 +305,7 @@ impl SnapshotPackage {
impl std::fmt::Debug for SnapshotPackage {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("SnapshotPackage")
.field("type", &self.snapshot_type)
.field("type", &self.snapshot_kind)
.field("slot", &self.slot())
.field("block_height", &self.block_height)
.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.
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum SnapshotType {
pub enum SnapshotKind {
FullSnapshot,
IncrementalSnapshot(Slot),
}
impl SnapshotType {
impl SnapshotKind {
pub fn is_full_snapshot(&self) -> bool {
matches!(self, SnapshotType::FullSnapshot)
matches!(self, SnapshotKind::FullSnapshot)
}
pub fn is_incremental_snapshot(&self) -> bool {
matches!(self, SnapshotType::IncrementalSnapshot(_))
matches!(self, SnapshotKind::IncrementalSnapshot(_))
}
}

View File

@ -1,7 +1,7 @@
use {
super::{
AccountsPackage, AccountsPackageType, SnapshotArchiveInfoGetter, SnapshotPackage,
SnapshotType,
AccountsPackage, AccountsPackageType, SnapshotArchiveInfoGetter, SnapshotKind,
SnapshotPackage,
},
std::cmp::Ordering::{self, Equal, Greater, Less},
};
@ -9,7 +9,7 @@ use {
/// Compare snapshot packages by priority; first by type, then by slot
#[must_use]
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
@ -27,7 +27,7 @@ pub fn cmp_accounts_packages_by_priority(a: &AccountsPackage, b: &AccountsPackag
/// - Incremental Snapshot
/// - 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]
pub fn cmp_accounts_package_types_by_priority(
a: &AccountsPackageType,
@ -41,8 +41,8 @@ pub fn cmp_accounts_package_types_by_priority(
(_, EpochAccountsHash) => Less,
// Snapshot packages
(Snapshot(snapshot_type_a), Snapshot(snapshot_type_b)) => {
cmp_snapshot_types_by_priority(snapshot_type_a, snapshot_type_b)
(Snapshot(snapshot_kind_a), Snapshot(snapshot_kind_b)) => {
cmp_snapshot_kinds_by_priority(snapshot_kind_a, snapshot_kind_b)
}
(Snapshot(_), _) => Greater,
(_, 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.
/// If two `IncrementalSnapshot`s are compared, their base slots are the tiebreaker.
#[must_use]
pub fn cmp_snapshot_types_by_priority(a: &SnapshotType, b: &SnapshotType) -> Ordering {
use SnapshotType::*;
pub fn cmp_snapshot_kinds_by_priority(a: &SnapshotKind, b: &SnapshotKind) -> Ordering {
use SnapshotKind::*;
match (a, b) {
(FullSnapshot, FullSnapshot) => Equal,
(FullSnapshot, IncrementalSnapshot(_)) => Greater,
@ -84,7 +84,7 @@ mod tests {
#[test]
fn test_cmp_snapshot_packages_by_priority() {
fn new(snapshot_type: SnapshotType, slot: Slot) -> SnapshotPackage {
fn new(snapshot_kind: SnapshotKind, slot: Slot) -> SnapshotPackage {
SnapshotPackage {
snapshot_archive_info: SnapshotArchiveInfo {
path: PathBuf::default(),
@ -96,60 +96,60 @@ mod tests {
bank_snapshot_dir: PathBuf::default(),
snapshot_storages: Vec::default(),
snapshot_version: SnapshotVersion::default(),
snapshot_type,
snapshot_kind,
enqueued: Instant::now(),
}
}
for (snapshot_package_a, snapshot_package_b, expected_result) in [
(
new(SnapshotType::FullSnapshot, 11),
new(SnapshotType::FullSnapshot, 22),
new(SnapshotKind::FullSnapshot, 11),
new(SnapshotKind::FullSnapshot, 22),
Less,
),
(
new(SnapshotType::FullSnapshot, 22),
new(SnapshotType::FullSnapshot, 22),
new(SnapshotKind::FullSnapshot, 22),
new(SnapshotKind::FullSnapshot, 22),
Equal,
),
(
new(SnapshotType::FullSnapshot, 33),
new(SnapshotType::FullSnapshot, 22),
new(SnapshotKind::FullSnapshot, 33),
new(SnapshotKind::FullSnapshot, 22),
Greater,
),
(
new(SnapshotType::FullSnapshot, 22),
new(SnapshotType::IncrementalSnapshot(88), 99),
new(SnapshotKind::FullSnapshot, 22),
new(SnapshotKind::IncrementalSnapshot(88), 99),
Greater,
),
(
new(SnapshotType::IncrementalSnapshot(11), 55),
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(11), 55),
new(SnapshotKind::IncrementalSnapshot(22), 55),
Less,
),
(
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(22), 55),
Equal,
),
(
new(SnapshotType::IncrementalSnapshot(33), 55),
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(33), 55),
new(SnapshotKind::IncrementalSnapshot(22), 55),
Greater,
),
(
new(SnapshotType::IncrementalSnapshot(22), 44),
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(22), 44),
new(SnapshotKind::IncrementalSnapshot(22), 55),
Less,
),
(
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(22), 55),
Equal,
),
(
new(SnapshotType::IncrementalSnapshot(22), 66),
new(SnapshotType::IncrementalSnapshot(22), 55),
new(SnapshotKind::IncrementalSnapshot(22), 66),
new(SnapshotKind::IncrementalSnapshot(22), 55),
Greater,
),
] {
@ -189,7 +189,7 @@ mod tests {
(
new(AccountsPackageType::EpochAccountsHash, 123),
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
123,
),
Greater,
@ -197,7 +197,7 @@ mod tests {
(
new(AccountsPackageType::EpochAccountsHash, 123),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
Greater,
@ -209,7 +209,7 @@ mod tests {
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
123,
),
new(AccountsPackageType::EpochAccountsHash, 123),
@ -217,51 +217,51 @@ mod tests {
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
11,
),
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
22,
),
Less,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
22,
),
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
22,
),
Equal,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
33,
),
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
22,
),
Greater,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
123,
),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
Greater,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
123,
),
new(AccountsPackageType::AccountsHashVerifier, 123),
@ -269,7 +269,7 @@ mod tests {
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
new(AccountsPackageType::EpochAccountsHash, 123),
@ -277,73 +277,73 @@ mod tests {
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
new(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
123,
),
Less,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(6)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
123,
),
Less,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
11,
),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
22,
),
Less,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
22,
),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
22,
),
Equal,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
33,
),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
22,
),
Greater,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(4)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
123,
),
Greater,
),
(
new(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
123,
),
new(AccountsPackageType::AccountsHashVerifier, 123),
@ -381,12 +381,12 @@ mod tests {
),
(
AccountsPackageType::EpochAccountsHash,
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
Greater,
),
(
AccountsPackageType::EpochAccountsHash,
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
Greater,
),
(
@ -395,52 +395,52 @@ mod tests {
Greater,
),
(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
AccountsPackageType::EpochAccountsHash,
Less,
),
(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
Equal,
),
(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
Greater,
),
(
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
AccountsPackageType::AccountsHashVerifier,
Greater,
),
(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
AccountsPackageType::EpochAccountsHash,
Less,
),
(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotType::FullSnapshot),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::FullSnapshot),
Less,
),
(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(6)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(6)),
Less,
),
(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
Equal,
),
(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(4)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(4)),
Greater,
),
(
AccountsPackageType::Snapshot(SnapshotType::IncrementalSnapshot(5)),
AccountsPackageType::Snapshot(SnapshotKind::IncrementalSnapshot(5)),
AccountsPackageType::AccountsHashVerifier,
Greater,
),
@ -459,40 +459,40 @@ mod tests {
}
#[test]
fn test_cmp_snapshot_types_by_priority() {
for (snapshot_type_a, snapshot_type_b, expected_result) in [
fn test_cmp_snapshot_kinds_by_priority() {
for (snapshot_kind_a, snapshot_kind_b, expected_result) in [
(
SnapshotType::FullSnapshot,
SnapshotType::FullSnapshot,
SnapshotKind::FullSnapshot,
SnapshotKind::FullSnapshot,
Equal,
),
(
SnapshotType::FullSnapshot,
SnapshotType::IncrementalSnapshot(5),
SnapshotKind::FullSnapshot,
SnapshotKind::IncrementalSnapshot(5),
Greater,
),
(
SnapshotType::IncrementalSnapshot(5),
SnapshotType::FullSnapshot,
SnapshotKind::IncrementalSnapshot(5),
SnapshotKind::FullSnapshot,
Less,
),
(
SnapshotType::IncrementalSnapshot(5),
SnapshotType::IncrementalSnapshot(6),
SnapshotKind::IncrementalSnapshot(5),
SnapshotKind::IncrementalSnapshot(6),
Less,
),
(
SnapshotType::IncrementalSnapshot(5),
SnapshotType::IncrementalSnapshot(5),
SnapshotKind::IncrementalSnapshot(5),
SnapshotKind::IncrementalSnapshot(5),
Equal,
),
(
SnapshotType::IncrementalSnapshot(5),
SnapshotType::IncrementalSnapshot(4),
SnapshotKind::IncrementalSnapshot(5),
SnapshotKind::IncrementalSnapshot(4),
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);
}
}

View File

@ -846,7 +846,7 @@ pub fn archive_snapshot_package(
),
("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"
} else {
"incremental-snapshot-archive-size"

View File

@ -16,7 +16,7 @@ use {
solana_metrics::datapoint_info,
solana_rpc_client::rpc_client::RpcClient,
solana_runtime::{
snapshot_archive_info::SnapshotArchiveInfoGetter, snapshot_package::SnapshotType,
snapshot_archive_info::SnapshotArchiveInfoGetter, snapshot_package::SnapshotKind,
snapshot_utils,
},
solana_sdk::{
@ -1176,7 +1176,7 @@ fn download_snapshots(
download_abort_count,
rpc_contact_info,
full_snapshot_hash,
SnapshotType::FullSnapshot,
SnapshotKind::FullSnapshot,
)?;
}
@ -1208,7 +1208,7 @@ fn download_snapshots(
download_abort_count,
rpc_contact_info,
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,
rpc_contact_info: &ContactInfo,
desired_snapshot_hash: (Slot, Hash),
snapshot_type: SnapshotType,
snapshot_kind: SnapshotKind,
) -> Result<(), String> {
let maximum_full_snapshot_archives_to_retain = validator_config
.snapshot_config
@ -1253,7 +1253,7 @@ fn download_snapshot(
full_snapshot_archives_dir,
incremental_snapshot_archives_dir,
desired_snapshot_hash,
snapshot_type,
snapshot_kind,
maximum_full_snapshot_archives_to_retain,
maximum_incremental_snapshot_archives_to_retain,
use_progress_bar,