Page 2: Deadlocks

What is Deadlock?

Like two people blocking each other in a narrow hallway - neither can move forward.

Deadlock Example:

Transaction T3:          Transaction T4:
1. Lock-X(B) ✓          1. Lock-S(A) ✓
2. Read(B)               2. Read(A)
3. Lock-X(A) ⏳ WAIT     3. Lock-S(B) ⏳ WAIT

T3 waits for A (held by T4), T4 waits for B (held by T3) = DEADLOCK!

Solution: Roll back one transaction to break the cycle.

Updated on