IPA過去問ドリル

平成26年度 春期 応用情報技術者試験 午前 問29

テクノロジ/データベース

分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンスaで発行したコマンドはどれか。ここで,コマンドシーケンスの記述にUMLのシーケンス図の記法を用いる。

平成26年度 春期 応用情報技術者試験 午前 問29の図

出典:平成26年度 春期 応用情報技術者試験 午前 問29

正解:イ

解説

調停者は要求者からのUPDATE要求とCOMMIT要求を受けて,各参加システムにCOMMIT可否問合せを行う二相コミットを実行している。システム1からは「可」の応答が返るが,システム2からは「否」の応答が返っており,一つでも「否」があれば全体としてコミットできないため,調停者は全ての参加システムに対してトランザクションを取り消すROLLBACKの実行を指示する必要がある。

選択肢ごとの解説

  • 誤り。システム2から「否」の応答があるため,コミットを実行することはできない。
  • 正しい。参加者の一方(システム2)が「否」を返したため,二相コミットのルールに従い,調停者は全参加者にROLLBACK(取消し)の実行を要求する。
  • 誤り。判定レコードの書出しはコミット処理過程での内部的な記録であり,「否」の応答を受けた後に参加者へ送る指示ではない。
  • 誤り。ログ書出しの実行要求は各システム内部の処理であり,「否」の応答を受けた調停者が発行するコマンドとしては適切でない。
応用情報技術者の過去問を演習モードで解く