Page 201 - E-Modul Sistem Basis Data
P. 201
• Jika tidak satupun dari kasus-kasus di atas terjadi, maka semua simpul aktif
harus memiliki record <ready T dalam file log-nya, tetapi tanpa record
kontrol tambahan (seperti cabort Data commit 7). Karena koordinator
mengalami kerusakan, maka tidak mungkin untuk menentukan apakah
sebuah keputusan telah dibuat, dan kalaupun ada keputusan yang telah
dibuat, juga tidak dapat diketahui bagaimana keputusan itu, hingga
koordinator tersebut berfungsi normal kembali. Karena itu, simpul-simpul
aktif harus menunggu hingga K, pulih. Karena nasib T masih meragukan,
Tboleh jadi terus melanjutkan pengunciannya pada sejumlah satuan data
yang memang digunakannya. Kondisi ini tentu saja bisa berakibat buruk,
apalagi jika kerusakan K, berlangsung lama. Selama kondisi ini
berlangsung, maka semua transaksi yang akan melibatkan satuan data yang
sama dengan yang dikunci oleh Takan juga berada dalam keadaan
menunggu. Dan itu pada akhirnya bisa terjadi di semua simpul. Situasi
demikian disebut sebagai blocking problem, karena T di-blok sambil
menunggu pulihnya K..
3. Kerusakan akibat pemisahan jaringan. Ketika sebuah pemisahan jaringan terjadi
(akibat ada link dalam jaringan yang putus), ada dua kemungkinan kondisi:
• Koordinator dan semua simpul yang berpartisipasi tetap ada dalam satu
partisi. Pada kasus ini, kerusakan jenis ini tidak akan berpengaruh pada kerja
protokol commit ini
• Koordinator dan sejumlah simpul yang berpartisipasi menjadi terpisah pada
partisi jaringan yang berbeda. Bagi simpul yang terpisah dari
koordinatornya, maka penanganannya sama dengan menganggap telah
189