Recoverability
If Tk reads from Ti and Ti aborts, then Tk must abort
- Example - w1[x] r2[x] a1 implies T2 must abort
But what if Tk already committed? We’d be stuck.
- Example - w1[x] r2[x] c2 a1
- T2 can’t abort after it commits
Executions must be recoverable:A transaction T’s commit operation must follow the commit of every transaction from which T read.
- Recoverable - w1[x] r2[x] c1 c2
- Not recoverable - w1[x] r2[x] c2 a1
Recoverability requires synchronizing operations.