平成26年度 春期 応用情報技術者試験 午前 問29
テクノロジ/データベース分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンスaで発行したコマンドはどれか。ここで,コマンドシーケンスの記述にUMLのシーケンス図の記法を用いる。

出典:平成26年度 春期 応用情報技術者試験 午前 問29
- アCOMMITの実行要求
- イROLLBACKの実行要求
- ウ判定レコードの書出し要求
- エログ書出しの実行要求
正解:イ
解説
調停者は要求者からのUPDATE要求とCOMMIT要求を受けて,各参加システムにCOMMIT可否問合せを行う二相コミットを実行している。システム1からは「可」の応答が返るが,システム2からは「否」の応答が返っており,一つでも「否」があれば全体としてコミットできないため,調停者は全ての参加システムに対してトランザクションを取り消すROLLBACKの実行を指示する必要がある。
選択肢ごとの解説
- ア誤り。システム2から「否」の応答があるため,コミットを実行することはできない。
- イ正しい。参加者の一方(システム2)が「否」を返したため,二相コミットのルールに従い,調停者は全参加者にROLLBACK(取消し)の実行を要求する。
- ウ誤り。判定レコードの書出しはコミット処理過程での内部的な記録であり,「否」の応答を受けた後に参加者へ送る指示ではない。
- エ誤り。ログ書出しの実行要求は各システム内部の処理であり,「否」の応答を受けた調停者が発行するコマンドとしては適切でない。