For each of the following schedules, state whether the schedule is serializable, conflict- serializable, view-serializable, recoverable, and whether it avoids cascading aborts:
(a) read(T1, balx), read(T2, balx), write(T1, balx), write(T2, balx), commit(T1),
commit(T2)
(b) read(T1, balx), read(T2, baly), write(T3, balx), read(T2, balx), read(T1, baly),
commit(T1), commit(T2)
(c) read(T1, balx), write(T2, balx), write(T1, balx), abort(T2), commit(T1)
(d) write(T1, balx), read(T2, balx), write(T1, balx), commit(T2), abort(T1)
(e) read(T1, balx), write(T2, balx), write(T1, balx), read(T3, balx), commit(T1),
commit(T2), commit(T3)
(a) read(T1, balx), read(T2, balx), write(T1, balx), write(T2, balx), commit(T1),
commit(T2)
Not (conflict) serializable; not view serializable. Recoverable; avoids cascading abort.
(b) read(T1, balx), read(T2, baly), write(T3, balx), read(T2, balx), read(T1, baly),
commit(T1), commit(T2)
Conflict serializable and so view serializable. Recoverable; (however, does not avoid
cascading abort if T 3 had aborted, T 2 would also have to abort as it has read the value of an
aborted transaction).
(c) read(T1, balx), write(T2, balx), write(T1, balx), abort(T2), commit(T1)
Assuming abort occurs, then only transaction T 1 occurs making schedule serial and thus
conflict serializable and view serializable. Without abort, then not (conflict) serializable; not
view serializable. Recoverable; avoids cascading abort.
(d) write(T1, balx), read(T2, balx), write(T1, balx), commit(T2), abort(T1)
Assuming abort occurs, then only transaction T 2 occurs making schedule serial and thus
conflict serializable and view serializable. Without abort, then not (conflict) serializable; not
view serializable. Not recoverable therefore not avoiding cascading abort.
(e) read(T1, balx), write(T2, balx), write(T1, balx), read(T3, balx), commit(T1),
commit(T2), commit(T3)
Not (conflict) serializable; not view serializable. Recoverable but not avoiding cascading
aborts.
You might also like to view...
If we do not have a header node, why is removing the first node of a linked list a special case?
A. The first node is the most complicated node of the entire linked list. B. It complicates the insertions that might take place afterwards, since insertions take place at the beginning of the linked list. C. If we don’t do it properly, there is memory leak for the rest of the nodes in the list; if we don’t remove any other node properly, there is no danger of memory leak. D. We need to move the start pointer when removing the first node, but not when removing any other nodes.
Eating disorders may be a sign of burnout
Indicate whether the statement is true or false
What is the second step in opening the case of a working computer?
A. Press and hold down the power button for a moment B. Back up important data C. Power down the system and unplug it D. Open the case cover
A network has only one minimum spanning tree.
Answer the following statement true (T) or false (F)