From 775639c0582d540d4dd068275ac5f75414b8f961 Mon Sep 17 00:00:00 2001 From: Brooks Date: Sat, 6 May 2023 09:18:03 -0400 Subject: [PATCH] Revert "SnapshotPackagerService purges old bank snapshots (#31511)" (#31524) This reverts commit a6c39ded8ee48bc0fa50de4c85c01925c0afb6d9. --- core/src/snapshot_packager_service.rs | 9 ------- runtime/src/snapshot_utils.rs | 34 --------------------------- 2 files changed, 43 deletions(-) diff --git a/core/src/snapshot_packager_service.rs b/core/src/snapshot_packager_service.rs index 7202688ab..c0a92fae7 100644 --- a/core/src/snapshot_packager_service.rs +++ b/core/src/snapshot_packager_service.rs @@ -94,15 +94,6 @@ impl SnapshotPackagerService { (snapshot_package.slot(), *snapshot_package.hash()), ); } - - // Now that this snapshot package has been archived, it is safe to remove - // all bank snapshots older than this slot. We want to keep the bank - // snapshot *at this slot* so that it can be used during restarts, when - // booting from local state. - snapshot_utils::purge_bank_snapshots_older_than_slot( - &snapshot_config.bank_snapshots_dir, - snapshot_package.slot(), - ); }); datapoint_info!( diff --git a/runtime/src/snapshot_utils.rs b/runtime/src/snapshot_utils.rs index 7e4a7b974..55002602b 100644 --- a/runtime/src/snapshot_utils.rs +++ b/runtime/src/snapshot_utils.rs @@ -2955,13 +2955,6 @@ pub fn purge_old_bank_snapshots( ); } -/// Purges bank snapshots that are older than `slot` -pub fn purge_bank_snapshots_older_than_slot(bank_snapshots_dir: impl AsRef, slot: Slot) { - let mut bank_snapshots = get_bank_snapshots(&bank_snapshots_dir); - bank_snapshots.retain(|bank_snapshot| bank_snapshot.slot < slot); - purge_bank_snapshots(&bank_snapshots); -} - /// Purges all `bank_snapshots` /// /// Does not exit early if there is an error while purging a bank snapshot. @@ -5559,31 +5552,4 @@ mod tests { purge_old_bank_snapshots(&bank_snapshots_dir, 0, None); assert_eq!(get_bank_snapshots(&bank_snapshots_dir).len(), 0); } - - #[test] - fn test_purge_bank_snapshots_older_than_slot() { - let genesis_config = GenesisConfig::default(); - let bank_snapshots_dir = tempfile::TempDir::new().unwrap(); - - // The bank must stay in scope to ensure the temp dirs that it holds are not dropped - let _bank = create_snapshot_dirs_for_tests(&genesis_config, &bank_snapshots_dir, 9, 6); - let bank_snapshots_before = get_bank_snapshots(&bank_snapshots_dir); - - purge_bank_snapshots_older_than_slot(&bank_snapshots_dir, 0); - let bank_snapshots_after = get_bank_snapshots(&bank_snapshots_dir); - assert_eq!(bank_snapshots_before.len(), bank_snapshots_after.len()); - - purge_bank_snapshots_older_than_slot(&bank_snapshots_dir, 3); - let bank_snapshots_after = get_bank_snapshots(&bank_snapshots_dir); - assert_eq!(bank_snapshots_before.len(), bank_snapshots_after.len() + 2); - - purge_bank_snapshots_older_than_slot(&bank_snapshots_dir, 8); - let bank_snapshots_after = get_bank_snapshots(&bank_snapshots_dir); - assert_eq!(bank_snapshots_before.len(), bank_snapshots_after.len() + 7); - - purge_bank_snapshots_older_than_slot(&bank_snapshots_dir, Slot::MAX); - let bank_snapshots_after = get_bank_snapshots(&bank_snapshots_dir); - assert_eq!(bank_snapshots_before.len(), bank_snapshots_after.len() + 9); - assert!(bank_snapshots_after.is_empty()); - } }