Page 4: Lock Conversions

Smart Locking Strategy

Instead of getting exclusive lock immediately, start with shared lock and upgrade when needed.

Example:

Transaction T8: read(a1), read(a2), ..., write(a1)
Transaction T9: read(a1), read(a2), ..., display(a1)

Without conversion:
T8 needs X-lock on a1 from start → blocks T9 completely

With conversion:
Both start with S-lock on a1 → run concurrently
T8 upgrades to X-lock only when writing → better performance!

Conversion Rules:

  • Upgrade (S→X): Only during growing phase

  • Downgrade (X→S): Only during shrinking phase

Updated on