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

出典:平成21年度 春期 応用情報技術者試験 午前 問33
- アCOMMITの実行要求
- イROLLBACKの実行要求
- ウ判定レコードの書出し要求
- エログ書出しの実行要求
正解:イ
解説
調停者は,UPDATE要求とCOMMIT要求を受けて,システム1とシステム2にCOMMITの可否を問い合わせています。応答は,システム1からは「可」ですが,システム2からは「否」であり,2相コミットの仕組みでは参加者のいずれか一つでも「否」と応答すればトランザクション全体を確定できないため,調停者は全参加者に対してROLLBACKを指示する必要があります。したがって,調停者がシーケンスaでシステム1に発行したコマンドはROLLBACKの実行要求です。
選択肢ごとの解説
- ア誤り。COMMITの実行要求は,すべての参加者から「可」の応答を得られた場合に発行されるコマンドであり,システム2から「否」の応答を得ているこの図の状況には当てはまりません。
- イ正しい。システム2から「否」の応答があったため,調停者は全参加者にROLLBACKの実行要求を発行する必要があり,シーケンスaもROLLBACKの実行要求です。
- ウ誤り。判定レコードの書出し要求は,コミット可否の判定結果を記録する処理であり,図のシーケンスaが表す参加者への指示そのものではありません。
- エ誤り。ログ書出しの実行要求は,取引記録を残すための処理であり,図のシーケンスaが表す確定・取消しの指示とは異なります。