Three Transactions, Three Variables

End-to-End Coordination

An end-to-end trace of three concurrent transactions interacting with the logging and locking systems.


The Setup: T1, T2, T3 Operating on A, B, C

Three transactions run concurrently, each targeting a different variable. The Transaction Manager's job? Keep these operations from stepping on each other's toes.


Scenario 1: All Transactions Commit

Three transactions all committing successfully

✅ Commit Path Coordination

Lock acquisition: Each transaction employs Strict Two-Phase Locking (S2PL), unlocking only at COMMIT or ABORT. The same microschedule applies to 2PL.
WAL entries: Changes are logged in sequence as they happen.
Final state: Post-COMMIT, all changes are locked in and durable.

Scenario 2: Mixed Outcomes - T2 Aborts

T2 aborts while T1 and T3 commit

❌ Abort Handling

WAL UNDO: Revert T3's changes using old values.

What's Next?

The Transaction Manager ensures these components handle concurrent transactions without a hitch.

Up next: Watch how these elements synchronize across the entire transaction lifecycle!