Page 230 - E-Modul Simbad_Neat
P. 230
Karena bulatnya suara (dari seluruh simpul) diperlukan untuk meng-commit
sebuah transaksi, nasib dari transaksi T segera dapat ditentukan jika ada 1 saja
simpul yang memberi respon abort T. Karena koordinator simpul S1 adalah salah
satu dari simpul-simpul yang mengeksekusi T, koordinator tersebut kefile log dan
kemudian merekamnya ke media penyimpanan stabil. Dalam mlah implementasi
dari protokol 2PC ini, sebuah simpul mengirimkan protokol. Ketika koordinator
menerima pesan acknowledge T dari semua j pesan acknowledge 7 ke koordinator
pada akhir dari fase kedua dari simpl, ia dapat menambahkan record <complete 7>
ke file log.
10.3.3 Penanganan Kerusakan/Kegagalan
Sekarang kita akan melihat lebih rinci bagaimana protokol 2PC
mengantisipasi berbagai jenis kerusakan dalam sistem yang mungkin terjadi.
1. Kerusakan Simpul. Jika koordinator K, mendeteksi adanya simpul yang gagal,
ia akan melaksanakan aksi-aksi berikut ini. Jika simpul tersebut rusak sebelum
memberi respon dengan pesan ready 7 ke K akan diasumsikan bahwa respon-
nya menjadi pesan abort 7. Jika simpul tersebut gagal setelah koordinator telah
menerima pesan ready 7 dari simpul tersebut, sisa dari protokol commit tersebut
dieksekusi secara normal, dengan mengabaikan adanya kegagalan dari simpul
tersebut.
Ketika simpul S yang turut berpartisipasi pulih dari kerusakan, ia harus
memeriksa file log-nya untuk mengetahui nasib dari transaksi-transaksi yang baru
setengah jalan ketika kerusakan terjadi. Katakanlah T merupakan salah satu dari
transaksi demikian. Berikut ini adalah kasus- kasus yang mungkin terjadi:
217