Three-phase commit protocol: Difference between revisions

Content deleted Content added
Addbot (talk | contribs)
m Bot: Migrating 2 interwiki links, now provided by Wikidata on d:q5965755
Line 24:
# The coordinator receives a transaction request. If there is a failure at this point, the coordinator aborts the transaction (i.e. upon recovery, it will consider the transaction aborted). Otherwise, the coordinator sends a '''canCommit?''' message to the cohorts and moves to the waiting state.
# If there is a failure, timeout, or if the coordinator receives a '''No''' message in the waiting state, the coordinator aborts the transaction and sends an '''abort''' message to all cohorts. Otherwise the coordinator will receive '''Yes''' messages from all cohorts within the time window, so it sends '''preCommit''' messages to all cohorts and moves to the prepared state.
# If the coordinator succeeds in the prepared state, it will move to the commit state. However if the coordinator times out while waiting for an acknowledgement from a cohort, it will abort the transaction. In the case where all acknowledgements are received, the coordinator moves to the commit state as well...
 
===Cohort===