diff --git a/runtime/src/snapshot_utils.rs b/runtime/src/snapshot_utils.rs index 14894eaef6..59c95abcbb 100644 --- a/runtime/src/snapshot_utils.rs +++ b/runtime/src/snapshot_utils.rs @@ -58,8 +58,8 @@ pub const BANK_SNAPSHOT_PRE_FILENAME_EXTENSION: &str = "pre"; 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_INCREMENTAL_SNAPSHOT_ARCHIVES_TO_RETAIN: usize = 4; -pub const FULL_SNAPSHOT_ARCHIVE_FILENAME_REGEX: &str = r"^snapshot-(?P[[:digit:]]+)-(?P[[:alnum:]]+)\.(?Ptar|tar\.bz2|tar\.zst|tar\.gz)$"; -pub const INCREMENTAL_SNAPSHOT_ARCHIVE_FILENAME_REGEX: &str = r"^incremental-snapshot-(?P[[:digit:]]+)-(?P[[:digit:]]+)-(?P[[:alnum:]]+)\.(?Ptar|tar\.bz2|tar\.zst|tar\.gz)$"; +pub const FULL_SNAPSHOT_ARCHIVE_FILENAME_REGEX: &str = r"^snapshot-(?P[[:digit:]]+)-(?P[[:alnum:]]+)\.(?Ptar|tar\.bz2|tar\.zst|tar\.gz|tar\.lz4)$"; +pub const INCREMENTAL_SNAPSHOT_ARCHIVE_FILENAME_REGEX: &str = r"^incremental-snapshot-(?P[[:digit:]]+)-(?P[[:digit:]]+)-(?P[[:alnum:]]+)\.(?Ptar|tar\.bz2|tar\.zst|tar\.gz|tar\.lz4)$"; #[derive(Copy, Clone, Eq, PartialEq, Debug)] pub enum SnapshotVersion { @@ -2270,6 +2270,14 @@ mod tests { .unwrap(), (44, Hash::default(), ArchiveFormat::Tar) ); + assert_eq!( + parse_full_snapshot_archive_filename(&format!( + "snapshot-45-{}.tar.lz4", + Hash::default() + )) + .unwrap(), + (45, Hash::default(), ArchiveFormat::TarLz4) + ); assert!(parse_full_snapshot_archive_filename("invalid").is_err()); assert!( @@ -2338,6 +2346,14 @@ mod tests { .unwrap(), (44, 345, Hash::default(), ArchiveFormat::Tar) ); + assert_eq!( + parse_incremental_snapshot_archive_filename(&format!( + "incremental-snapshot-45-456-{}.tar.lz4", + Hash::default() + )) + .unwrap(), + (45, 456, Hash::default(), ArchiveFormat::TarLz4) + ); assert!(parse_incremental_snapshot_archive_filename("invalid").is_err()); assert!(parse_incremental_snapshot_archive_filename(&format!(