Non-Standard Database Systems Nikolaus Augsten
TWO PHASE COMMIT (2PC)
Phase coordinatorCi transaction manager at siteSj
1
<prepare T> log Sj either decides to commit or toabort:
decides to commit prepare T
all log records ofT +
<ready T>
log
Sj holds all locks ofT until end of phase 2
decides to abort
<abort T>
log ready T
abort T
2
if all Sj replyready T: <commit T>
log
else:
(timeout orabort T from at least one site)
<abort T>
log
<commit T>
log
<abort T>
log commit
T
abort T