Content deleted Content added
→Disadvantages: I rewrote a sentence fragment that contained an undefined acronym. The replacement text explains the point more clearly. |
|||
Line 22:
===Coordinator===
# 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 '''
# 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.
|