平成25年度 春期 データベーススペシャリスト試験 午前II 問13
【問題13】
2相コミットで分散トランザクションの原子性を保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきかロールバックすべきか判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として,適切なものはどれか。
調停者のトランザクションが,コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
調停者のトランザクションに,コミット又はロールバック可否の応答を参加者が返す直前に障害になった。
調停者のトランザクションに,コミット又はロールバックの完了を参加者が返す直前に障害になった。
【解説】
ア: 調停者のトランザクションが,コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
誤り。この場合、参加者はタイムアウト後にロールバックを行い、問題にはなりません。
イ: 調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
正しい。調停者が第2相の通知を送る前に障害が発生した場合、参加者は判断できず不定状態に陥ります。
ウ: 調停者のトランザクションに,コミット又はロールバック可否の応答を参加者が返す直前に障害になった。
誤り。この状況では、まだ調停者からの指示がないため、障害が発生しても問題ありません。
エ: 調停者のトランザクションに,コミット又はロールバックの完了を参加者が返す直前に障害になった。
誤り。完了の通知後、参加者は既にどちらのアクションを取るべきか決定しており、障害が発生しても判断に困ることはありません。
【答え】
イ: 調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
出典:平成25年度 春期 データベーススペシャリスト試験 午前II 問13