B-tree Locking
Root lock on a B-tree is a bottleneck
Use tree locking to relieve it
- So, don’t unlock a node till you’re sure its child won’t split (i.e. has space for an insert)
- Implies different locking rules for different ops(search vs. insert/update)
If you unlock P before splitting C,
then you have to back up and lock
P again, which breaks the tree