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:

  1. cascading aborts, and
  2. 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.