Page 229 - E-Modul Simbad_Neat
P. 229
Transaksi pada simpul penerima memutuskan apakah ia akan jawabannya tidak,
maka ia harus menambahkan record <no Toke file log, dan kemudian mengirimkan
respon pesan abort The Jika jawabannya ya, ia menambahkan record <ready T> ke
fik log, dan mengirimkan file log tersebut (dengan semua record log yang
berhubungan dengan 7) ke media penyimpanan stabil. Manajer Transaksi kemudian
menjawabnya dengan pesan ready
Fase 2. Ketika K menerima respon atas pesan prepare 7 (yang telah
dikirimkan pada Fase 1) dari semua simpul, atau ketika interval waktu tertentu telah
dilalui sejak pesan prepare 7 telah dikirimkan, K, dapat menentukan apakah
transaksi T dapat d commit (berhasil) atau di-abort (batal). Transaksi T dapat &
commit jika K, menerima sebuah pesan ready T dari semua simpul yang
berpartisipasi. Jika tidak, transaksi T harus dibatalkan. Tergantung keputusan yang
diambil, maka sebuah record <commit 7> atau <abort 7> akan ditambahkan ke file
ing dan log tersebut juga disimpan ke media penyimpanan stabil. Pada titik ini,
"nasib" dari transaksi telah ditandai.
Setiap simpul di mana T dieksekusi dapat secara mendadak membatalkan T
kapan saja sebelum mengirimkan pesan ready T ke koordinator. Pesan ready T
menjadi semacam "janji" dari sebuah simpul untuk mengikuti perintah koordinator
untuk menjalankan commit T atau untuk membatalkan (abort) T. Konsekuensinya,
setiap simpul juga berjanji bahwa informasi yang dibutuhkan akan disimpan di
dalam media penyimpanan stabil. Karena jika tidak (dalam arti, pada saat simpul
tersebut mengalami kerusakan setelah mengirim ready 7), maka simpul tersebut
mungkin tidak dapat memegang komitmennya.
216