INF: Two-Phase and Three-Phase Commit Information

ID: Q61653


The information in this article applies to:


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.


MORE INFORMATION

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.


Keywords          : kbother SSrvServer 
Version           : 4.2
Platform          : OS/2 
Issue type        : 

Last Reviewed: March 9, 1999