応用情報技術者試験 応用情報技術者試験 令和6年度秋期 午前 問27: 2相コミットで分散トランザクションの原子性を保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきか又はロールバックすべきかを判
で分散のを保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきか又はすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として,適切なものはどれか。
79.45%
問題本文
2相コミットで分散トランザクションの原子性を保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきか又はロールバックすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として,適切なものはどれか。
選択肢
- ア.調停者のトランザクションが,コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
- イ.調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
- ウ.調停者のトランザクションに,コミット又はロールバック可否の応答を参加者が返す直前に障害になった。
- エ.調停者のトランザクションに,コミット又はロールバックの完了を参加者が返す直前に障害になった。
正解
イ. 調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
解説
2 相コミットは、調停者が各参加者に「コミット可能か」を問い合わせる第 1 相(準備フェーズ)と、全員の可否応答を集めて最終決定(コミットかロールバックか)を通知する第 2 相(コミットフェーズ)から成る。参加者が「コミット可能」と応答した後、第 2 相で調停者が最終決定を送る直前にネットワーク障害が起きると、参加者は準備完了のまま待たされ、コミットかロールバックか分からず判断できなくなる。この状況を起こすイが正解である。
選択肢ごとの解説
- ア.第 1 相の可否問合せが送られる前に障害になった場合、参加者はまだ準備していない状態でタイムアウトによりロールバックすればよく、判断に迷う状況にはならないため誤りである。
- イ.参加者が準備完了を返した後、第 2 相で調停者からの最終決定(コミット/ロールバック)が届く直前に障害になると、参加者はどちらにすべきか判断できず宙づりになるため、この状況を起こすイが正解である。
- ウ.参加者が可否応答を返す直前の障害では、その参加者はまだ自分の準備可否を決められる段階であり、応答が届かなければ調停者がロールバックを決定できるため、参加者が判断不能になる状況とは言えず誤りである。
- エ.コミット又はロールバックの完了報告を返す直前の障害は、すでに最終決定を受け取って処理を完了した後の段階であり、コミットすべきかロールバックすべきか分からなくなる状況ではないため誤りである。
応用情報技術者試験 令和6年度秋期 午前 の過去問一覧へ戻る・問27