A full recovery trace contrasts a winner item with a loser item.

highlighted = computed this step

Full crash recovery trace

The full trace combines a committed transaction and a non-committed transaction. Recovery must keep the winner item and remove the loser item. Note: the render shows both sides in one log.

winner loser contrast\text{winner loser contrast}

Classify transactions

The compile finds 1 winner and 1 loser. Note: those labels are recomputed from commit status.

winners=1,losers=1\text{winners}=1,\quad \text{losers}=1

a simplified redo/undo recovery over a tiny log; ARIES detail (fuzzy checkpoints, CLRs, media recovery) and real durability/fsync are beyond these traces - no product claims.

Full recovery trace - CRASH after LSN 5lsntxntypeitembefore->after1T1begin2T1writeA0->53T1commit4T2begin5T2writeB0->9 winners: T1 | losers: T2; redo LSNs: 2; undo LSNs: 5itemvalueA5B0

Redo and undo

The redo list has 1 write and the undo list has 1 write. Note: redo is winner-only and undo is non-winner rollback.

redo=1,undo=1\text{redo}=1,\quad \text{undo}=1

a simplified redo/undo recovery over a tiny log; ARIES detail (fuzzy checkpoints, CLRs, media recovery) and real durability/fsync are beyond these traces - no product claims.

Full recovery trace - CRASH after LSN 5lsntxntypeitembefore->after1T1begin2T1writeA0->53T1commit4T2begin5T2writeB0->9 winners: T1 | losers: T2; redo LSNs: 2; undo LSNs: 5itemvalueA5B0

Recovered state

The recovered state has 2 items. Note: committed writes are authoritative, and loser writes never survive.

recovered items=2\text{recovered items}=2

a simplified redo/undo recovery over a tiny log; ARIES detail (fuzzy checkpoints, CLRs, media recovery) and real durability/fsync are beyond these traces - no product claims.

Full recovery trace - CRASH after LSN 5lsntxntypeitembefore->after1T1begin2T1writeA0->53T1commit4T2begin5T2writeB0->9 winners: T1 | losers: T2; redo LSNs: 2; undo LSNs: 5itemvalueA5B0

Summary

A full recovery trace is winner redo plus non-winner undo, with committed writes taking precedence. Note: this is simplified redo and undo; ARIES detail, fuzzy checkpoints, CLRs, media recovery, and real fsync durability are deferred.

full recovery\text{full recovery}