Page 231 - E-Modul Simbad_Neat
P. 231
• File log berisi record <commit T>. Untuk kasus ini, simpul tersebut harus
menjalankan redo(T).
• File log berisi record <abort T>. Untuk kasus ini, simpul tersebut harus
menjalankan undo(T).
• File log berisi record <ready T>. Untuk kasus ini, simpul tersebut harus
mencari konfirmasi dengan K, untuk mengetahui bagaimana nasib dari
transaksi T. Jika K, sedang aktif, ia akan memberi tahu S tentang apakah T di-
commit atau dibatalkan. Pada kasus pertama, ia harus menjalankan redo(T),
sedang untuk kasus kedua, ia harus menjalankan undo(T). Jika K juga rusak, S.
harus mencari tahu nasib dari transaksi T dari simpul yang lain dalam sistem.
Hal itu dilakukan dengan mengirim pesan query-status T ke semua simpul
tersebut harus memeriksa file log-nya w mengetahui apakah 7 juga dieksekusi
di situ atau tidak dan ka simpul di dalam sistem. Jika sebuah simpul menerima
pesan atau dibatalkan. Simpul tersebut kemudian memberitahukan ya memang
benar, juga harus diperiksa lebih jauh, apakah T di-comm simpul yang dapat
memberikan informasi tentang hal itu (yats, simpul & tentang hasil pemeriksaan
tersebut. Jika tidak ada sat melakukan commit ataupun membatalkan T.
Keputusan yang apakah 7 telah di-commit atau dibatalkan), maka S, tidak dap
berkaitan dengan transaksi T ini terpaksa ditunda hingga dap memperoleh
informasi yang memadai untuk itu. Karena itu, Shar secara periodik mengirim
kembali pesan query-status ke simpl simpul lainnya. Langkah itu dilakukan
terus hingga ada simpul yang pulih dan mengirimkan informasi tentang status
akhir dari transak 7 tersebut. Ingat bahwa simpul tempat K berada selalu
memilik informasi yang diperlukan tersebut.
218