Undo rolls back a transaction with no commit before crash.

highlighted = computed this step

Undo a loser

A transaction that began but did not commit before the crash is a loser. Loser writes are rolled back by before images and never survive into recovered state. Note: undo is listed in reverse LSN order.

undo loser\text{undo loser}

Loser classification

The compiled log has 1 loser. Note: the loser label comes from the missing commit before crash.

losers=1\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.

Undo loser lsn txn type item before->after 1 T2 begin 2 T2 write B 0->9 CRASH winners: - losers: T2 recovered state item value B 0 redo LSNs: - undo LSNs: 2

Undo list

The undo list has 1 write, and the recovered state has 1 item. Note: the loser after image is visible in the log but not durable.

undo=1,recovered items=1\text{undo}=1,\quad \text{recovered items}=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.

Undo loser lsn txn type item before->after 1 T2 begin 2 T2 write B 0->9 CRASH winners: - losers: T2 recovered state item value B 0 redo LSNs: - undo LSNs: 2

Summary

Undo removes non-committed work from the recovered state. Note: this is simplified redo and undo; ARIES detail, fuzzy checkpoints, CLRs, media recovery, and real fsync durability are deferred.

loser writes removed\text{loser writes removed}