Consider the following log sequence... 1. T1 start ... 7. T2 commit. System crashes before log record 7 is written. Recovery procedure?
- A. We must redo log record 6 to set B to 10500
- B. We must undo log record 6 to set B to 10000 and then redo log record 2 and 3
- C. We need not redo log record 2 and 3 because transaction T1 has committed.
- D. We can apply redo and undo operations in arbitrary order because they are idempotent.
Answer: B. We must undo log record 6 to set B to 10000 and then redo log record 2 and 3
Explanation: Since crash happens before T2 commit is written, T2 is uncommitted and must be undone. T1 is committed and must be redone (to ensure durability).