正答3
解説
正解は3です。
2相コミットプロトコルは、複数サイトの更新をすべて確定させるか、すべて取り消すかを保証する仕組みです。
第1相で主サイトが全従サイトに準備を問い合わせ、第2相で結果に応じてコミットかロールバックを指示します。
【選択肢別解説】
1:× 一部の従サイトだけをコミットすると、サイト間でデータの不整合が生じます。
準備完了の応答がそろわない場合は、全従サイトにロールバックを指示します。
2:× 準備要求を再度送る手順はありません。
準備完了がそろわなければ、全従サイトにロールバックを指示して更新を取り消します。
3:○ 全従サイトから準備完了の応答を受け取ったときだけ、主サイトは全従サイトにコミット要求を出します。
これにより全サイトの更新が一斉に確定します。
4:× 従サイトは、準備が完了しなかった場合も、その旨を応答として返します。
主サイトは応答の内容を見てコミットかロールバックかを決めます。
【ポイント】
第1相をコミット準備(投票)、第2相をコミットまたはロールバックの指示と覚えます。
準備完了を返した従サイトは、主サイトの指示があるまで確定も取消しもできない状態で待機します。