Skip to content

Commit

Permalink
Merge pull request #3329 from arik-so/monitor_archive_docs_followup
Browse files Browse the repository at this point in the history
Document monitor archival idempotency requirement (#3276 followup)
  • Loading branch information
G8XSU authored Oct 15, 2024
2 parents 6004ee5 + 268675a commit 0db051b
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions lightning/src/chain/chainmonitor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,13 @@ pub trait Persist<ChannelSigner: EcdsaChannelSigner> {
///
/// Archiving the data in a backup location (rather than deleting it fully) is useful for
/// hedging against data loss in case of unexpected failure.
///
/// Note that if a crash occurs during the archiving process, and its implementation is not
/// atomic, a state may emerge with the archival operation only being partially complete. In
/// that scenario, the monitor may still be loaded on startup pending successful completion of
/// the archive process. Additionally, because the archive operation could be retried on
/// restart, this method must in that case be idempotent, ensuring it can handle scenarios where
/// the monitor already exists in the archive.
fn archive_persisted_channel(&self, channel_funding_outpoint: OutPoint);
}

Expand Down

0 comments on commit 0db051b

Please sign in to comment.