Checkpoint : Checkpoint is a mechanism where all the previous logs are removed from the system and stored permanently in a storage disk. Checkpoint declares a point before which the DBMS was in consistent state, and all the transactions were committed.
When a system with concurrent transactions crashes and recovers, it behaves in the following manner −
=>The recovery system reads the logs backwards from the end to the last checkpoint.
=>It maintains two lists, an undo-list and a redo-list.
=>If the recovery system sees a log with <tn, start=""> and <tn, commit=""> or just <tn, commit="">, it puts the transaction in the redo-list.
=>If the recovery system sees a log with <tn, start=""> but no commit or abort log found, it puts the transaction in undo-list.
All the transactions in the undo-list are then undone and their logs are removed. All the transactions in the redo-list and their previous logs are removed and then redone before saving their logs
so we must undo log record 6 to set B to 10000 and then redo log records 2 and 3 because system fail before commit operation. So we need to undone active transactions(T2) and redo committed transactions (T1)
So Answer is B redo log records 2 and 3 and undo log record 6