Consider the following schedule S.Is S conflict–serializable? Append the commit operations of these transactions at the end of the schedule in an appropriate order such that S is recoverable. How many such orders are there?
$$S: r1(X); r2(Z); r1(Z); r3(X); r3(Y); w1(X); w3(y); r2(Y); w2(Z); w2(Y);$$
I have already found the whether S is conflict serializable or not by using precedence graph(it is indeed conflict serializable!!). Now coming to the whether the S is recoverable or not. Here's what I got: For T1 to commit it has to wait for T2 to commit (r1(Z) and w2(Z)) For T2 to commit it has to wait for T3 to commit (r2(Y) and w3(Y)) For T3 to commit it has to wait for T1 to commit (r3(X) and w1(X)) So no transaction can commit , it is like a deadlock. So it this schedule irrecovearable.Am I correct. In general is there any way to check for recoverability . Thank you.