Follow-on locking requires n+1 selects to lock associated entities.
Activity
Show:
Gavin King last week
We’ve been talking about this as if it’s just a matter of n+1 selects being slow, but I realized it’s worse than that: we’re acquiring all these n locks in an essentially random order with a finite time in between each lock request.
This is just about the most efficient way I can think of to produce deadlocks.
However this works, there needs to be a deterministic global ordering to the lock requests.
Follow-on locking requires n+1 selects to lock associated entities.