ID Number: Q61653
1.10 1.11 4.20
OS/2
Summary:
The clearest explanation of two-phase and three-phase commits is in
Ullman's "Baseball Database" book. The reference to this publication
does not represent a recommendation by Microsoft to use this book as a
database reference; however, the information regarding two-phase and
three-phase commits is helpful to understand these concepts.
Two-phase commit is defined to be the following:
A participant commits when it knows that all other participants
have voted to commit.
Three-phase commit is defined to be the following:
A participant commits when it knows that all other participants
know that all participants have voted to commit.
The extra phase reduces the amount of time that locks must be held if
a failure occurs. Any participant that had received a commit or abort
message can respond to a "help-me" message from a participant that is
unsure of the state of the transaction. It is not necessary to hold
all the locks until the coordinator gets back up.
Additional reference words: 1.10 1.11 4.20