MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / recover

Method recover

graphlite/src/txn/recovery.rs:83–96  ·  view source on GitHub ↗

ROADMAP v0.3.0 - Main recovery procedure (Analysis→Redo→Undo phases)

(&mut self)

Source from the content-addressed store, hash-verified

81 /// Perform crash recovery by replaying WAL
82 #[allow(dead_code)] // ROADMAP v0.3.0 - Main recovery procedure (Analysis→Redo→Undo phases)
83 pub fn recover(&mut self) -> Result<RecoveryReport, RecoveryError> {
84 let mut report = RecoveryReport::new();
85
86 // Phase 1: Analysis - Scan WAL to determine transaction states
87 self.analysis_phase(&mut report)?;
88
89 // Phase 2: Redo - Replay committed transactions
90 self.redo_phase(&mut report)?;
91
92 // Phase 3: Undo - Rollback incomplete transactions
93 self.undo_phase(&mut report)?;
94
95 Ok(report)
96 }
97
98 /// Analysis phase: scan WAL to determine transaction states
99 fn analysis_phase(&mut self, report: &mut RecoveryReport) -> Result<(), RecoveryError> {

Callers 1

test_empty_recoveryFunction · 0.80

Calls 3

analysis_phaseMethod · 0.80
redo_phaseMethod · 0.80
undo_phaseMethod · 0.80

Tested by 1

test_empty_recoveryFunction · 0.64