abort

ALUSTA UUESTI

NIMEKIRJA JUURDE

GLOBAL
COMMIT!
GLOBAL
COMMIT!
2. Otsustamise faas
PREPARE!
PREPARE!
commit
commit
commit
O2: ABORTED
end_transaction;
O2: READY
O1: ABORTED
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;
COMMIT;
COMMIT;
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
abort
 ROLLBACK;
 ROLLBACK;
  TIMEOUT
abort