Question
Suppose a database system crashes again while recovering from a previous crash. Assume checkpointing is not done by the database either during the transactions or during recovery.
Which of the following statements is/are correct?
Official answer and solution
- Official answer
- A
- From
- Official GATE 2021 answer key
Official key designates this question as MSQ with single correct option A.
Solution
Analyze log-based crash recovery behavior when no checkpoint is taken during initial execution or recovery.
When a database crashes, recovery algorithms scan the log from the most recent checkpoint (or the beginning of the log if no checkpoint exists) to build the active (undo) and committed (redo) transaction lists.
Because no checkpointing is performed either during transaction processing or during the recovery phase, the log on stable storage remains unmodified regarding checkpoints. When the second crash occurs, the subsequent recovery restart re-reads the exact same log records.
Consequently, the recovery manager determines the identical sets of committed and uncommitted transactions, reconstructing the exact same undo and redo lists. Because redo and undo operations are designed to be idempotent, repeating them produces the exact same consistent database state.
Therefore, statement A is correct, while B, C, and D are false.
A
The answer is the one in the official GATE answer key. The solution is this site's own explanation.
Source
- Paper
- GATE 2021 Computer Science and Information Technology (CS, Set-1)
- Question
- 23 of 65, printed as CS Q.13
- Section
- Computer Science and Information Technology
Report an error in this question
GATE questions are the work of the organising institutes. This site is independent and is not affiliated with them.