Jump to content

Two-phase commit

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 211.27.91.162 (talk) at 04:58, 29 March 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, especially in durability studies, a two phase commit allows data to be written to more than one location and for all operations to be rolled back, if one or more of the operations fails.

In essence:

  • Phase 1
Each participant's resource manager coordinates local operations
If successful
respond "OK"
If unsuccessful
either allow a time-out or respond "NOT OK"
  • Phase 2
If all participants respond "OK":
Coordinator instructs participating resource managers to "COMMIT"
Participants complete operation
Otherwise:
Coordinator instructs participating resource managers to "ROLLBACK"
Participants complete their respective local undos