Plumb `maximum_incremental_snapshot_archives_to_retain` (#19640)
This commit is contained in:
parent
37fe5139cc
commit
9d9482b9d8
|
@ -54,6 +54,7 @@ impl SnapshotPackagerService {
|
||||||
snapshot_utils::archive_snapshot_package(
|
snapshot_utils::archive_snapshot_package(
|
||||||
&snapshot_package,
|
&snapshot_package,
|
||||||
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
||||||
|
snapshot_config.maximum_incremental_snapshot_archives_to_retain,
|
||||||
)
|
)
|
||||||
.expect("failed to archive snapshot package");
|
.expect("failed to archive snapshot package");
|
||||||
|
|
||||||
|
@ -190,6 +191,7 @@ mod tests {
|
||||||
snapshot_utils::archive_snapshot_package(
|
snapshot_utils::archive_snapshot_package(
|
||||||
&snapshot_package,
|
&snapshot_package,
|
||||||
snapshot_utils::DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
snapshot_utils::DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
snapshot_utils::DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
|
|
@ -1238,6 +1238,7 @@ fn new_banks_from_ledger(
|
||||||
&snapshot_config.snapshot_archives_dir,
|
&snapshot_config.snapshot_archives_dir,
|
||||||
snapshot_config.archive_format,
|
snapshot_config.archive_format,
|
||||||
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
||||||
|
snapshot_config.maximum_incremental_snapshot_archives_to_retain,
|
||||||
)
|
)
|
||||||
.unwrap_or_else(|err| {
|
.unwrap_or_else(|err| {
|
||||||
error!("Unable to create snapshot: {}", err);
|
error!("Unable to create snapshot: {}", err);
|
||||||
|
|
|
@ -299,7 +299,8 @@ mod tests {
|
||||||
let snapshot_package = SnapshotPackage::from(accounts_package);
|
let snapshot_package = SnapshotPackage::from(accounts_package);
|
||||||
snapshot_utils::archive_snapshot_package(
|
snapshot_utils::archive_snapshot_package(
|
||||||
&snapshot_package,
|
&snapshot_package,
|
||||||
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
||||||
|
snapshot_config.maximum_incremental_snapshot_archives_to_retain,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -387,7 +388,7 @@ mod tests {
|
||||||
let saved_slot = 4;
|
let saved_slot = 4;
|
||||||
let mut saved_archive_path = None;
|
let mut saved_archive_path = None;
|
||||||
|
|
||||||
for forks in 0..snapshot_utils::MAX_BANK_SNAPSHOTS + 2 {
|
for forks in 0..snapshot_utils::MAX_BANK_SNAPSHOTS_TO_RETAIN + 2 {
|
||||||
let bank = Bank::new_from_parent(
|
let bank = Bank::new_from_parent(
|
||||||
&bank_forks[forks as u64],
|
&bank_forks[forks as u64],
|
||||||
&Pubkey::default(),
|
&Pubkey::default(),
|
||||||
|
@ -483,7 +484,7 @@ mod tests {
|
||||||
assert!(bank_snapshots
|
assert!(bank_snapshots
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|path| path.slot)
|
.map(|path| path.slot)
|
||||||
.eq(3..=snapshot_utils::MAX_BANK_SNAPSHOTS as u64 + 2));
|
.eq(3..=snapshot_utils::MAX_BANK_SNAPSHOTS_TO_RETAIN as u64 + 2));
|
||||||
|
|
||||||
// Create a SnapshotPackagerService to create tarballs from all the pending
|
// Create a SnapshotPackagerService to create tarballs from all the pending
|
||||||
// SnapshotPackage's on the channel. By the time this service starts, we have already
|
// SnapshotPackage's on the channel. By the time this service starts, we have already
|
||||||
|
@ -776,6 +777,7 @@ mod tests {
|
||||||
snapshot_config.archive_format,
|
snapshot_config.archive_format,
|
||||||
snapshot_config.snapshot_version,
|
snapshot_config.snapshot_version,
|
||||||
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
||||||
|
snapshot_config.maximum_incremental_snapshot_archives_to_retain,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -812,6 +814,7 @@ mod tests {
|
||||||
snapshot_config.archive_format,
|
snapshot_config.archive_format,
|
||||||
snapshot_config.snapshot_version,
|
snapshot_config.snapshot_version,
|
||||||
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
||||||
|
snapshot_config.maximum_incremental_snapshot_archives_to_retain,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
@ -249,13 +249,14 @@ pub fn download_snapshot<'a, 'b>(
|
||||||
snapshot_archives_dir: &Path,
|
snapshot_archives_dir: &Path,
|
||||||
desired_snapshot_hash: (Slot, Hash),
|
desired_snapshot_hash: (Slot, Hash),
|
||||||
use_progress_bar: bool,
|
use_progress_bar: bool,
|
||||||
maximum_snapshots_to_retain: usize,
|
maximum_full_snapshot_archives_to_retain: usize,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain: usize,
|
||||||
progress_notify_callback: &'a mut DownloadProgressCallbackOption<'b>,
|
progress_notify_callback: &'a mut DownloadProgressCallbackOption<'b>,
|
||||||
) -> Result<(), String> {
|
) -> Result<(), String> {
|
||||||
snapshot_utils::purge_old_snapshot_archives(
|
snapshot_utils::purge_old_snapshot_archives(
|
||||||
snapshot_archives_dir,
|
snapshot_archives_dir,
|
||||||
maximum_snapshots_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
snapshot_utils::DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
);
|
);
|
||||||
|
|
||||||
for compression in &[
|
for compression in &[
|
||||||
|
|
|
@ -2018,8 +2018,10 @@ fn main() {
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
let maximum_snapshots_to_retain =
|
let maximum_full_snapshot_archives_to_retain =
|
||||||
value_t_or_exit!(arg_matches, "maximum_snapshots_to_retain", usize);
|
value_t_or_exit!(arg_matches, "maximum_snapshots_to_retain", usize);
|
||||||
|
let maximum_incremental_snapshot_archives_to_retain =
|
||||||
|
snapshot_utils::DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN;
|
||||||
let genesis_config = open_genesis_config_by(&ledger_path, arg_matches);
|
let genesis_config = open_genesis_config_by(&ledger_path, arg_matches);
|
||||||
let blockstore = open_blockstore(
|
let blockstore = open_blockstore(
|
||||||
&ledger_path,
|
&ledger_path,
|
||||||
|
@ -2235,7 +2237,8 @@ fn main() {
|
||||||
Some(snapshot_version),
|
Some(snapshot_version),
|
||||||
output_directory,
|
output_directory,
|
||||||
ArchiveFormat::TarZstd,
|
ArchiveFormat::TarZstd,
|
||||||
maximum_snapshots_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
)
|
)
|
||||||
.unwrap_or_else(|err| {
|
.unwrap_or_else(|err| {
|
||||||
eprintln!("Unable to create snapshot: {}", err);
|
eprintln!("Unable to create snapshot: {}", err);
|
||||||
|
|
|
@ -1708,6 +1708,7 @@ fn test_snapshot_download() {
|
||||||
archive_snapshot_hash,
|
archive_snapshot_hash,
|
||||||
false,
|
false,
|
||||||
snapshot_utils::DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
snapshot_utils::DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
snapshot_utils::DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
&mut None,
|
&mut None,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
|
@ -95,6 +95,7 @@ fn initialize_from_snapshot(
|
||||||
replica_config.snapshot_info,
|
replica_config.snapshot_info,
|
||||||
false,
|
false,
|
||||||
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
snapshot_config.maximum_full_snapshot_archives_to_retain,
|
||||||
|
snapshot_config.maximum_incremental_snapshot_archives_to_retain,
|
||||||
&mut None,
|
&mut None,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
|
@ -45,12 +45,12 @@ use {
|
||||||
|
|
||||||
pub const SNAPSHOT_STATUS_CACHE_FILE_NAME: &str = "status_cache";
|
pub const SNAPSHOT_STATUS_CACHE_FILE_NAME: &str = "status_cache";
|
||||||
|
|
||||||
pub const MAX_BANK_SNAPSHOTS: usize = 8; // Save some snapshots but not too many
|
|
||||||
const MAX_SNAPSHOT_DATA_FILE_SIZE: u64 = 32 * 1024 * 1024 * 1024; // 32 GiB
|
const MAX_SNAPSHOT_DATA_FILE_SIZE: u64 = 32 * 1024 * 1024 * 1024; // 32 GiB
|
||||||
const VERSION_STRING_V1_2_0: &str = "1.2.0";
|
const VERSION_STRING_V1_2_0: &str = "1.2.0";
|
||||||
const DEFAULT_SNAPSHOT_VERSION: SnapshotVersion = SnapshotVersion::V1_2_0;
|
const DEFAULT_SNAPSHOT_VERSION: SnapshotVersion = SnapshotVersion::V1_2_0;
|
||||||
pub(crate) const TMP_BANK_SNAPSHOT_PREFIX: &str = "tmp-bank-snapshot-";
|
pub(crate) const TMP_BANK_SNAPSHOT_PREFIX: &str = "tmp-bank-snapshot-";
|
||||||
pub const TMP_SNAPSHOT_ARCHIVE_PREFIX: &str = "tmp-snapshot-archive-";
|
pub const TMP_SNAPSHOT_ARCHIVE_PREFIX: &str = "tmp-snapshot-archive-";
|
||||||
|
pub const MAX_BANK_SNAPSHOTS_TO_RETAIN: usize = 8; // Save some bank snapshots but not too many
|
||||||
pub const DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN: usize = 2;
|
pub const DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN: usize = 2;
|
||||||
pub const DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN: usize = 4;
|
pub const DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN: usize = 4;
|
||||||
pub const FULL_SNAPSHOT_ARCHIVE_FILENAME_REGEX: &str = r"^snapshot-(?P<slot>[[:digit:]]+)-(?P<hash>[[:alnum:]]+)\.(?P<ext>tar|tar\.bz2|tar\.zst|tar\.gz)$";
|
pub const FULL_SNAPSHOT_ARCHIVE_FILENAME_REGEX: &str = r"^snapshot-(?P<slot>[[:digit:]]+)-(?P<hash>[[:alnum:]]+)\.(?P<ext>tar|tar\.bz2|tar\.zst|tar\.gz)$";
|
||||||
|
@ -242,7 +242,8 @@ pub fn remove_tmp_snapshot_archives(snapshot_archives_dir: impl AsRef<Path>) {
|
||||||
/// Make a snapshot archive out of the snapshot package
|
/// Make a snapshot archive out of the snapshot package
|
||||||
pub fn archive_snapshot_package(
|
pub fn archive_snapshot_package(
|
||||||
snapshot_package: &SnapshotPackage,
|
snapshot_package: &SnapshotPackage,
|
||||||
maximum_snapshot_archives_to_retain: usize,
|
maximum_full_snapshot_archives_to_retain: usize,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain: usize,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
info!(
|
info!(
|
||||||
"Generating snapshot archive for slot {}",
|
"Generating snapshot archive for slot {}",
|
||||||
|
@ -374,8 +375,8 @@ pub fn archive_snapshot_package(
|
||||||
|
|
||||||
purge_old_snapshot_archives(
|
purge_old_snapshot_archives(
|
||||||
tar_dir,
|
tar_dir,
|
||||||
maximum_snapshot_archives_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
);
|
);
|
||||||
|
|
||||||
timer.stop();
|
timer.stop();
|
||||||
|
@ -1552,12 +1553,12 @@ where
|
||||||
bank_snapshot_infos
|
bank_snapshot_infos
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.rev()
|
.rev()
|
||||||
.skip(MAX_BANK_SNAPSHOTS)
|
.skip(MAX_BANK_SNAPSHOTS_TO_RETAIN)
|
||||||
.for_each(|bank_snapshot_info| {
|
.for_each(|bank_snapshot_info| {
|
||||||
let r = remove_bank_snapshot(bank_snapshot_info.slot, &bank_snapshots_dir);
|
let r = remove_bank_snapshot(bank_snapshot_info.slot, &bank_snapshots_dir);
|
||||||
if r.is_err() {
|
if r.is_err() {
|
||||||
warn!(
|
warn!(
|
||||||
"Couldn't remove snapshot at: {}",
|
"Couldn't remove bank snapshot at: {}",
|
||||||
bank_snapshot_info.snapshot_path.display()
|
bank_snapshot_info.snapshot_path.display()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1630,7 +1631,8 @@ pub fn bank_to_full_snapshot_archive(
|
||||||
snapshot_version: Option<SnapshotVersion>,
|
snapshot_version: Option<SnapshotVersion>,
|
||||||
snapshot_archives_dir: impl AsRef<Path>,
|
snapshot_archives_dir: impl AsRef<Path>,
|
||||||
archive_format: ArchiveFormat,
|
archive_format: ArchiveFormat,
|
||||||
maximum_snapshots_to_retain: usize,
|
maximum_full_snapshot_archives_to_retain: usize,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain: usize,
|
||||||
) -> Result<FullSnapshotArchiveInfo> {
|
) -> Result<FullSnapshotArchiveInfo> {
|
||||||
let snapshot_version = snapshot_version.unwrap_or_default();
|
let snapshot_version = snapshot_version.unwrap_or_default();
|
||||||
|
|
||||||
|
@ -1654,7 +1656,8 @@ pub fn bank_to_full_snapshot_archive(
|
||||||
snapshot_storages,
|
snapshot_storages,
|
||||||
archive_format,
|
archive_format,
|
||||||
snapshot_version,
|
snapshot_version,
|
||||||
maximum_snapshots_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1671,7 +1674,8 @@ pub fn bank_to_incremental_snapshot_archive(
|
||||||
snapshot_version: Option<SnapshotVersion>,
|
snapshot_version: Option<SnapshotVersion>,
|
||||||
snapshot_archives_dir: impl AsRef<Path>,
|
snapshot_archives_dir: impl AsRef<Path>,
|
||||||
archive_format: ArchiveFormat,
|
archive_format: ArchiveFormat,
|
||||||
maximum_snapshots_to_retain: usize,
|
maximum_full_snapshot_archives_to_retain: usize,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain: usize,
|
||||||
) -> Result<IncrementalSnapshotArchiveInfo> {
|
) -> Result<IncrementalSnapshotArchiveInfo> {
|
||||||
let snapshot_version = snapshot_version.unwrap_or_default();
|
let snapshot_version = snapshot_version.unwrap_or_default();
|
||||||
|
|
||||||
|
@ -1697,7 +1701,8 @@ pub fn bank_to_incremental_snapshot_archive(
|
||||||
snapshot_storages,
|
snapshot_storages,
|
||||||
archive_format,
|
archive_format,
|
||||||
snapshot_version,
|
snapshot_version,
|
||||||
maximum_snapshots_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1710,7 +1715,8 @@ pub fn package_and_archive_full_snapshot(
|
||||||
snapshot_storages: SnapshotStorages,
|
snapshot_storages: SnapshotStorages,
|
||||||
archive_format: ArchiveFormat,
|
archive_format: ArchiveFormat,
|
||||||
snapshot_version: SnapshotVersion,
|
snapshot_version: SnapshotVersion,
|
||||||
maximum_snapshots_to_retain: usize,
|
maximum_full_snapshot_archives_to_retain: usize,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain: usize,
|
||||||
) -> Result<FullSnapshotArchiveInfo> {
|
) -> Result<FullSnapshotArchiveInfo> {
|
||||||
let accounts_package = AccountsPackage::new(
|
let accounts_package = AccountsPackage::new(
|
||||||
bank,
|
bank,
|
||||||
|
@ -1726,7 +1732,11 @@ pub fn package_and_archive_full_snapshot(
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
let snapshot_package = SnapshotPackage::from(accounts_package);
|
let snapshot_package = SnapshotPackage::from(accounts_package);
|
||||||
archive_snapshot_package(&snapshot_package, maximum_snapshots_to_retain)?;
|
archive_snapshot_package(
|
||||||
|
&snapshot_package,
|
||||||
|
maximum_full_snapshot_archives_to_retain,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
|
)?;
|
||||||
|
|
||||||
Ok(FullSnapshotArchiveInfo::new(
|
Ok(FullSnapshotArchiveInfo::new(
|
||||||
snapshot_package.snapshot_archive_info,
|
snapshot_package.snapshot_archive_info,
|
||||||
|
@ -1744,7 +1754,8 @@ pub fn package_and_archive_incremental_snapshot(
|
||||||
snapshot_storages: SnapshotStorages,
|
snapshot_storages: SnapshotStorages,
|
||||||
archive_format: ArchiveFormat,
|
archive_format: ArchiveFormat,
|
||||||
snapshot_version: SnapshotVersion,
|
snapshot_version: SnapshotVersion,
|
||||||
maximum_snapshots_to_retain: usize,
|
maximum_full_snapshot_archives_to_retain: usize,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain: usize,
|
||||||
) -> Result<IncrementalSnapshotArchiveInfo> {
|
) -> Result<IncrementalSnapshotArchiveInfo> {
|
||||||
let accounts_package = AccountsPackage::new(
|
let accounts_package = AccountsPackage::new(
|
||||||
bank,
|
bank,
|
||||||
|
@ -1762,7 +1773,11 @@ pub fn package_and_archive_incremental_snapshot(
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
let snapshot_package = SnapshotPackage::from(accounts_package);
|
let snapshot_package = SnapshotPackage::from(accounts_package);
|
||||||
archive_snapshot_package(&snapshot_package, maximum_snapshots_to_retain)?;
|
archive_snapshot_package(
|
||||||
|
&snapshot_package,
|
||||||
|
maximum_full_snapshot_archives_to_retain,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
|
)?;
|
||||||
|
|
||||||
Ok(IncrementalSnapshotArchiveInfo::new(
|
Ok(IncrementalSnapshotArchiveInfo::new(
|
||||||
incremental_snapshot_base_slot,
|
incremental_snapshot_base_slot,
|
||||||
|
@ -2544,7 +2559,8 @@ mod tests {
|
||||||
None,
|
None,
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
1,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2634,7 +2650,8 @@ mod tests {
|
||||||
None,
|
None,
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
std::usize::MAX,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2710,7 +2727,8 @@ mod tests {
|
||||||
None,
|
None,
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
std::usize::MAX,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2742,7 +2760,8 @@ mod tests {
|
||||||
None,
|
None,
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
std::usize::MAX,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2808,7 +2827,8 @@ mod tests {
|
||||||
None,
|
None,
|
||||||
&snapshot_archives_dir,
|
&snapshot_archives_dir,
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
std::usize::MAX,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2840,7 +2860,8 @@ mod tests {
|
||||||
None,
|
None,
|
||||||
&snapshot_archives_dir,
|
&snapshot_archives_dir,
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
std::usize::MAX,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2939,6 +2960,7 @@ mod tests {
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -2980,6 +3002,7 @@ mod tests {
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let (deserialized_bank, _) = bank_from_snapshot_archives(
|
let (deserialized_bank, _) = bank_from_snapshot_archives(
|
||||||
|
@ -3040,6 +3063,7 @@ mod tests {
|
||||||
snapshot_archives_dir.path(),
|
snapshot_archives_dir.path(),
|
||||||
snapshot_archive_format,
|
snapshot_archive_format,
|
||||||
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
|
DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
|
|
@ -925,19 +925,20 @@ fn rpc_bootstrap(
|
||||||
gossip.take().unwrap();
|
gossip.take().unwrap();
|
||||||
cluster_info.save_contact_info();
|
cluster_info.save_contact_info();
|
||||||
gossip_exit_flag.store(true, Ordering::Relaxed);
|
gossip_exit_flag.store(true, Ordering::Relaxed);
|
||||||
let maximum_snapshots_to_retain = if let Some(snapshot_config) =
|
let (maximum_full_snapshot_archives_to_retain, maximum_incremental_snapshot_archives_to_retain) = if let Some(snapshot_config) =
|
||||||
validator_config.snapshot_config.as_ref()
|
validator_config.snapshot_config.as_ref()
|
||||||
{
|
{
|
||||||
snapshot_config.maximum_full_snapshot_archives_to_retain
|
(snapshot_config.maximum_full_snapshot_archives_to_retain, snapshot_config.maximum_incremental_snapshot_archives_to_retain)
|
||||||
} else {
|
} else {
|
||||||
DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN
|
(DEFAULT_MAX_FULL_SNAPSHOT_ARCHIVES_TO_RETAIN, DEFAULT_MAX_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN)
|
||||||
};
|
};
|
||||||
let ret = download_snapshot(
|
let ret = download_snapshot(
|
||||||
&rpc_contact_info.rpc,
|
&rpc_contact_info.rpc,
|
||||||
snapshot_archives_dir,
|
snapshot_archives_dir,
|
||||||
snapshot_hash,
|
snapshot_hash,
|
||||||
use_progress_bar,
|
use_progress_bar,
|
||||||
maximum_snapshots_to_retain,
|
maximum_full_snapshot_archives_to_retain,
|
||||||
|
maximum_incremental_snapshot_archives_to_retain,
|
||||||
&mut Some(Box::new(|download_progress: &DownloadProgressRecord| {
|
&mut Some(Box::new(|download_progress: &DownloadProgressRecord| {
|
||||||
debug!("Download progress: {:?}", download_progress);
|
debug!("Download progress: {:?}", download_progress);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue