Two Phase Locking (2PL)
Two Phase Locking
A scheduler follows the two phase locking protocol (2PL) if it allows no lock to be acquired by a transaction on some object, after the first lock by on some other (not necessarily distinct) object is released by .
- THIS DEFINITION IS SO F-CKING LONG WTF
The 2PL locking protocol can still allow operations to proceed that lead to:
- cascading aborts, and
- deadlock.
A refinement of 2PL addresses the first of these problems.
Strict Two Phase Locking
A scheduler follows the strict two phase locking protocol (strict 2PL) if it allows no lock for a transaction to be released until requests either a commit or abort operation.