Question
Read the following scenario and address the following issues that are related to transaction and concurrency control. Assume that objects a1, a2, and a3 are
Read the following scenario and address the following issues that are related to transaction and concurrency control.
Assume that objects a1, a2, and a3 are managed by a server, which provides two operations to operate the objects.
read(a): returns the value of object a
write(a, v): assigns the value v to object a
Assume that the following two concurrent transactions T and U are performed on these objects
T: read(a2); read(a1); write(a2, a2-25); read(a3); write(a1, a1+52)
U: read(a3); read(a2); write(a2, a2+33); write(a3, a3-26)
Assume that the original values of a1, a2, and a3 are 111, 106 and 125 respectively. Answer the following questions based on the above scenario.
---> We rearrange Ts operations as follows and keep Us operations unchanged.
T: read(a2); read(a1); read (a3); write(a2, a2-25); write(a1, a1+52)
If we use the locks as below, what problem would happen?
Time Sequence Transactions T: lock a2: T: read(a2) T: lock a 1; T: read(a1); T: wait for the lock of a3; U:lock a3; U: read(a3) U: wait for the lock of a2; U: wait for the lock of a2; Time Sequence Transactions T: lock a2: T: read(a2) T: lock a 1; T: read(a1); T: wait for the lock of a3; U:lock a3; U: read(a3) U: wait for the lock of a2; U: wait for the lock of a2Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started