MagnumDB Engine
Docs/Crash Recovery

Crash Recovery & WAL Replay

On database engine startup, MagnumDB scans the Write-Ahead Log (magnumdb.wal) to reconstruct committed transaction states.

src/wal/recovery.rs
rust
// Startup Crash Recovery Replay Algorithm
pub fn perform_wal_recovery(db: &mut Database) -> Result<()> {
    let mut wal_reader = LogReader::open("./data/magnumdb.wal")?;
    while let Some(record) = wal_reader.next_record()? {
        if record.validate_crc32() && record.is_committed() {
            db.apply_wal_record(&record)?;
        }
    }
    Ok(())
}