-
Consider a simple checkpointing protocol and the following set of operations in the log.
(start, T4); (write, T4, y, 2, 3); (start, T1);
(commit, T4); (write, T1, z, 5, 7);
(checkpoint);
(start, T2); (write, T2, x, 1, 9);
(commit, T2); (start, T3),
(write, T3, z, 7, 2);
If a crash happens now the system tries to recover using both undo and redo operations, what are the contents of the undo list and the redo list?
-
- Undo: T3, T1; Redo: T2
- Undo: T3, T1; Redo: T2, T4
- Undo: none; Redo; T2, T4, T3, T1
- Undo: T3, T1, T4; Redo: T2
- Undo: T3, T1; Redo: T2
Correct Option: A
As T1 & T3 are not yet committed they must be undone. The transactions which are after the latest checkpoint must be redone. So T2 must be redone. No need to redo the records which are before last checkpoint, so T4 need not be redone.