COMMIT;
COMMIT;

ALUSTA UUESTI

NIMEKIRJA JUURDE

GLOBAL
COMMIT!
GLOBAL
COMMIT!
2. Otsustamise faas
PREPARE!
PREPARE!
commit
commit
commit
O2: COMMITTED
end_transaction;
O2: READY
O1: COMMITTED
O1: READY
3. Rakendus annab käsu transaktsioon lõpetada: 
Account (server 1)
Account (server 2)
START TRANSACTION;
START TRANSACTION;
1. Rakendus annab käsu alustada transaktsiooni: 
UPDATE Account SET balance=balance-100 WHERE customer_id=1;
UPDATE Account SET balance=balance-100 WHERE customer_id=1;
UPDATE Account SET balance=balance+100 WHERE customer_id=2;
UPDATE Account SET balance=balance+100 WHERE customer_id=2;
2. Rakendus saadab laused transaktsiooni osalistele täitmiseks  
rida on transaktsiooni T poolt eksklusiivselt lukustatud
rida on transaktsiooni T poolt eksklusiivselt lukustatud
2PC protokoll
begin_commit
1. Hääletamise faas
ready_commit
ready_commit
commit
COMMIT;
COMMIT;
}
Globaalne
transaktsioon T
      TIMEOUT
      TIMEOUT
Transaktsiooni osalised ei saa koordinaatori otsust ja seetõttu  jäävad blokeerituks