Three-phase commit (3PC) is a synchronization protocol that ensures global atomicity of distributed transactions while alleviating the blocking aspect of 2PC (two-phase commit) in the events of site failures. That is, 3PC never requires operational sites to wait (i.e., block) until a failed site has recovered.
3PC was one of the first attempts to resolve the blocking aspects of 2PC . The main purpose of the protocol is to allow operational sites to continue transaction processing and reach agreement about the final status of transactions in spite of the presence of site failures. 3PC can tolerate any number of site failures (except for total sites’ failures), assuming a highly reliable network (i.e., a network that never causes operational sites to be partitioned into more than one set of communicating sites, implying a network that never fails).
In 2PC, a participant is blockedif it fails to communicate with the coordinator of a...
- 1.Skeen D. Non-blocking commit protocols. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1981. p. 133–42.Google Scholar
- 2.Al-Houmaily Y. Atomic commit protocols, their integration, and their optimisations in distributed database systems. Int J Intell Inf Database Syst. 2010;4(4):373–412.Google Scholar
- 3.Al-Houmaily Y. Incompatibility dimensions and integration of atomic commit protocols. Int Arab J Inf Technol. 2008;5(4):381–392.Google Scholar