Basic Locking Isn’t Enough
Basic locking doesn’t guarantee serializability
rl1[x] r1[x] ru1[x] wl1[y] w1[y] wu1[y] c1 rl2[y] r2[y] wl2[x] w2[x] ru2[y] wu2[x] c2
Eliminating the lock operations, we have r1[x] r2[y] w2[x] c2 w1[y] c1 which isn’t SR
The problem is that locks aren’t being released properly.