From 6b5172d00219cc343bf4c098dbee2bb9a67d9788 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 23 Jan 2020 09:46:30 -0700 Subject: [PATCH] add_snapshot now returns SlotSnapshotPaths --- ledger/src/snapshot_package.rs | 1 + ledger/src/snapshot_utils.rs | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ledger/src/snapshot_package.rs b/ledger/src/snapshot_package.rs index d4bbacdb17..212393f120 100644 --- a/ledger/src/snapshot_package.rs +++ b/ledger/src/snapshot_package.rs @@ -10,6 +10,7 @@ pub type SnapshotPackageSender = Sender; pub type SnapshotPackageReceiver = Receiver; pub type SnapshotPackageSendError = SendError; +#[derive(Debug)] pub struct SnapshotPackage { pub root: u64, pub slot_deltas: Vec>>, diff --git a/ledger/src/snapshot_utils.rs b/ledger/src/snapshot_utils.rs index 7bef3e2e71..d5221af67b 100644 --- a/ledger/src/snapshot_utils.rs +++ b/ledger/src/snapshot_utils.rs @@ -204,19 +204,18 @@ where Ok(ret) } -pub fn add_snapshot>(snapshot_path: P, bank: &Bank) -> Result<()> { +pub fn add_snapshot>(snapshot_path: P, bank: &Bank) -> Result { bank.purge_zero_lamport_accounts(); let slot = bank.slot(); // snapshot_path/slot let slot_snapshot_dir = get_bank_snapshot_dir(snapshot_path, slot); fs::create_dir_all(slot_snapshot_dir.clone())?; - // the snapshot is stored as snapshot_path/slot/slot + // the bank snapshot is stored as snapshot_path/slot/slot let snapshot_bank_file_path = slot_snapshot_dir.join(get_snapshot_file_name(slot)); info!( - "creating snapshot {}, path: {:?}", - bank.slot(), - snapshot_bank_file_path, + "Creating snapshot for slot {}, path: {:?}", + slot, snapshot_bank_file_path, ); let mut bank_serialize = Measure::start("bank-serialize-ms"); @@ -234,7 +233,7 @@ pub fn add_snapshot>(snapshot_path: P, bank: &Bank) -> Result<()> // Monitor sizes because they're capped to MAX_SNAPSHOT_DATA_FILE_SIZE datapoint_info!( "snapshot-bank-file", - ("slot", bank.slot(), i64), + ("slot", slot, i64), ("size", consumed_size, i64) ); @@ -242,12 +241,13 @@ pub fn add_snapshot>(snapshot_path: P, bank: &Bank) -> Result<()> info!( "{} for slot {} at {:?}", - bank_serialize, - bank.slot(), - snapshot_bank_file_path, + bank_serialize, slot, snapshot_bank_file_path, ); - Ok(()) + Ok(SlotSnapshotPaths { + slot, + snapshot_file_path: snapshot_bank_file_path, + }) } pub fn serialize_status_cache(