応用情報技術者試験 令和6年度 秋期 午前 問27
2相コミットで分散トランザクションの原子性を保証する場合、ネットワーク障害の発生によって参加者のトランザクションが、コミットすべきか又はロールバックすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として、適切なものはどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】イ
2相コミットでは、第1相で調停者が各参加者にコミット可能かを問い合わせ、全参加者から可能との応答を受けると、第2相でコミットを決定して通知します。参加者はコミット可能と応答した後、調停者から最終決定が届くまでは、自分の判断でコミットにもロールバックにも進めません。イのように、調停者が最終決定を送る直前に障害が発生すると、参加者は準備完了状態のまま決定を受け取れず、処理が停止します。
アの問合せを送る直前の障害は誤りです。参加者はまだコミット可能との意思を表明しておらず、最終決定を待つ準備完了状態には入っていないので、ロールバックできます。
ウの参加者が可否の応答を返す直前の障害は誤りです。この時点では賛成票が調停者に届いていないため、調停者は全員の賛成に基づくコミットを決定できず、参加者はロールバックできます。
エの完了通知を返す直前の障害は誤りです。参加者は既にコミット又はロールバックの決定を受け取り、処理を完了しています。判断できないのではなく、調停者側が完了を確認できない状態です。
【ポイント】 2相コミットの停止が問題になるのは、「コミット可能と応答した後、最終決定を受け取る前」の期間です。 第1相は可否の確認、第2相は最終決定の通知であることを、通信の順番とともに覚えます。
出典:令和6年度 秋期 応用情報技術者試験 午前 問27
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる