GATE CS 2025 Set 1 | Question 15

MCQ · 1 mark · −0.33

A schedule of three database transactions \(T_1\), \(T_2\), and \(T_3\) is shown. \(R_i(A)\) and \(W_i(A)\) denote read and write of data item \(A\) by transaction \(T_i, i = 1,2,3\). The transaction \(T_1\) aborts at the end. Which other transaction(s) will be required to be rolled back?

\(R_1(X)\) \(W_1(Y)\) \(R_2(X)\) \(R_2(Y)\) \(R_3(Y)\) \(\mathit{ABORT}(T_1)\)

  1. Option A: Only \(T_2\)
  2. Option B: Only \(T_3\)
  3. Option C: Both \(T_2\) and \(T_3\) (correct)
  4. Option D: Neither \(T_2\) nor \(T_3\)

Answer

(C)

Explanation

When \(T_1\) aborts, every transaction that read a value written by \(T_1\) (a dirty read) must also be rolled back; this is a cascading rollback. \(T_1\) wrote only \(Y\). Both \(R_2(Y)\) and \(R_3(Y)\) come after \(W_1(Y)\) with no other write to \(Y\) in between, so \(T_2\) and \(T_3\) both read the uncommitted value. \(R_2(X)\) does not matter, because \(T_1\) only read \(X\).

Answer: C