skip to main content
article

Consensus on transaction commit

Published: 01 March 2006 Publication History

Abstract

The distributed transaction commit problem requires reaching agreement on whether a transaction is committed or aborted. The classic Two-Phase Commit protocol blocks if the coordinator fails. Fault-tolerant consensus algorithms also reach agreement, but do not block whenever any majority of the processes are working. The Paxos Commit algorithm runs a Paxos consensus algorithm on the commit/abort decision of each participant to obtain a transaction commit protocol that uses 2F + 1 coordinators and makes progress if at least F + 1 of them are working properly. Paxos Commit has the same stable-storage write delay, and can be implemented to have the same message delay in the fault-free case as Two-Phase Commit, but it uses more messages. The classic Two-Phase Commit algorithm is obtained as the special F = 0 case of the Paxos Commit algorithm.

References

[1]
Aguilera, M. K., Delporte-Gallet, C., Fauconnier, H., and Toueg, S. 2001. Stable leader election. In DISC '01: Proceedings of the 15th International Conference on Distributed Computing, J. L. Welch, Ed. Lecture Notes in Computer Science, vol. 2180. Springer-Verlag, Berlin, Germany, 108--122.
[2]
Alpern, B. and Schneider, F. B. 1985. Defining liveness. Inf. Process. Lett. 21, 4 (Oct.), 181--185.
[3]
Bernstein, P. A., Hadzilacos, V., and Goodman, N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading, MA.
[4]
Borr, A. J. 1981. Transaction monitoring in encompass: Reliable distributed transaction processing. In Proceedings of the 1981 ACM SIGMOD International Conference on Management of Data (Ann Arbor, MI, April 29-May 1), Y. E. Lien, Ed. ACM Press, New York, NY, 155--165.
[5]
Charron-Bost, B. and Schiper, A. 2000. Uniform consensus is harder than consensus (extended abstract). Tech. rep. DSC/2000/028. École Polytechnique Fédérale de Lausanne, Switzerland.
[6]
De Prisco, R., Lampson, B., and Lynch, N. 1997. Revisiting the Paxos algorithm. In Proceedings of the 11th International Workshop on Distributed Algorithms (WDAG 97), M. Mavronicolas and P. Tsigas, Eds. Lecture Notes in Computer Science, vol. 1320. Springer-Verlag, Saarbruken, Germany, 111--125.
[7]
Dwork, C., Lynch, N., and Stockmeyer, L. 1988. Consensus in the presence of partial synchrony. J. Assoc. Comput. Mach. 35, 2 (Apr.), 288--323.
[8]
Fischer, M. J., Lynch, N., and Paterson, M. S. 1985. Impossibility of distributed consensus with one faulty process. J. Assoc. Comput. Mach. 32, 2 (Apr.), 374--382.
[9]
Gray, J. 1978. Notes on data base operating systems. In Operating Systems: An Advanced Course, R. Bayer, R. M. Graham, and G. Seegmuller, Eds. Lecture Notes in Computer Science, vol. 60. Springer-Verlag, Berlin, Heidelberg, Germany/New York, NY, 393--481.
[10]
Guerraoui, R. 1995. Revisiting the relationship between nonblocking atomic commitment and consensus. In Proceedings of the 9th International Workshop on Distributed Algorithms (WDAG95), J.-M. Hélary and M. Raynal, Eds. Lecture Notes in Computer Science, vol. 972. Spring-er-Ver-lag, Le Mont-Saint-Michel, France, 87--100.
[11]
Guerraoui, R., Larrea, M., and Schiper, A. 1996. Reducing the cost for nonblocking in atomic commitment. In Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS). IEEE Computer Society Press, Los Alamitos, CA, 692--697.
[12]
Lamport, L. 1998. The part-time parliament. ACM Trans. Comput. Syst. 16, 2 (May), 133--169.
[13]
Lamport, L. 2001. Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Dec.), 18--25.
[14]
Lamport, L. 2003. Specifying Systems. Addison-Wesley, Boston, MA. A link to an electronic copy can be found online at http://lamport.org.
[15]
Lampson, B. W. 1996. How to build a highly available system using consensus. In Distributed Algorithms, O. Babaoglu and K. Marzullo, Eds. Lecture Notes in Computer Science, vol. 1151. Springer-Verlag, Berlin, Germany, 1--17.
[16]
Mohan, C., Strong, R., and Finkelstein, S. 1983. Method for distributed transaction commit and recovery using Byzantine agreement within clusters of processors. In Proceedings of the Second Annual ACM Symposium on Principles of Distributed Computing. The ACM Press, New York, NY, 29--43.
[17]
Newcomer, E. 2002. Understanding Web Services. Addison-Wesley, Boston, MA.
[18]
Pease, M., Shostak, R., and Lamport, L. 1980. Reaching agreement in the presence of faults. J. Assoc. Comput. Mach. 27, 2 (Apr.), 228--234.
[19]
Skeen, D. 1981. Nonblocking commit protocols. In SIGMOD '81: Proceedings of the 1981 ACM SIGMOD International Conference on Management of Data. ACM Press, New York, NY, 133--142.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Database Systems
ACM Transactions on Database Systems  Volume 31, Issue 1
March 2006
438 pages
ISSN:0362-5915
EISSN:1557-4644
DOI:10.1145/1132863
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2006
Published in TODS Volume 31, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Consensus
  2. Paxos
  3. two-phase commit

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)89
  • Downloads (Last 6 weeks)5
Reflects downloads up to 01 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media