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 lsn txn type item before->after 1 T1 begin 2 T1 write A 0->5 3 T1 commit 4 T2 begin 5 T2 write B 0->9 CRASH winners: T1 losers: T2 recovered state item value A 5 B 0 redo LSNs: 2 undo LSNs: 5

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 lsn txn type item before->after 1 T1 begin 2 T1 write A 0->5 3 T1 commit 4 T2 begin 5 T2 write B 0->9 CRASH winners: T1 losers: T2 recovered state item value A 5 B 0 redo LSNs: 2 undo LSNs: 5

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 lsn txn type item before->after 1 T1 begin 2 T1 write A 0->5 3 T1 commit 4 T2 begin 5 T2 write B 0->9 CRASH winners: T1 losers: T2 recovered state item value A 5 B 0 redo LSNs: 2 undo LSNs: 5

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}