PMプロジェクトマネージャ試験 午前Ⅰ

平成26年度春期 プロジェクトマネージャ 午前Ⅰ 問9

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンス a で発行したコマンドはどれか。ここで,コマンドシーケンスの記述に UML のシーケンス図の記法を用いる。
要求者,調停者,システム1,システム2間のUPDATE要求,COMMIT可否問合せ及びシーケンスaを示すUMLシーケンス図。
要求者,調停者,システム1,システム2間のUPDATE要求,COMMIT可否問合せ及びシーケンスaを示すUMLシーケンス図。

選択肢

  1. ア
    COMMIT の実行要求
  2. イ
    ROLLBACK の実行要求
  3. ウ
    判定レコードの書出し要求
  4. エ
    ログ書出しの実行要求
解き方のヒントを見る

コマンド列を読むための確認視点

分散した構成要素を含むコマンド列では、各操作を単独で判断せず、実行順序と前後の状態変化を追いながら、何が変わり得るかを整理して読み進めます。操作の区切りごとに、次の判断へ引き継がれる情報を意識してください。

この問題で問われていること

一つの観点に絞り、各コマンドの結果が次の操作の前提にどう影響するかを時系列で確認してください。名称の印象ではなく、直前までの状態とのつながりに注目し、列全体の変化を一続きの流れとして捉えます。

視点

コマンドを上から順に区切り、対象・作用・その後に残る状態をメモします。複数の場所や処理が関わる場合は、操作の境界と依存関係を整理し、表面的な語句だけで判断しないことが重要です。

確認ポイント

  • コマンドの実行順序を保ったとき、各操作の直前にどの状態が前提となっているか。
  • 一つの操作が終わった後に、次の操作が参照できる対象や状態がどう変化するか。
  • 各行を個別に読むのではなく、全体の流れとして矛盾なくつながっているか。
正解と解説を見る

正解

イ

解説

シーケンス図では、調停者がシステム1とシステム2へCOMMIT可否問合せを行っている。システム1は可、システム2は否を返しているため、全体の更新を成立させず取り消す処理として、調停者はROLLBACKの実行要求を発行する。

理由

調停者は各システムにCOMMIT可否問合せを送り、システム1からは「可」、システム2からは「否」を受け取っている。全参加システムが可でなければ更新を確定できないため、図のシーケンスaは処理を取り消すための要求です。

比較

COMMITは全システムが更新を確定できる場合に行う処理であり、判定レコードの書出しやログ書出しは図中のシーケンスaとして示された要求ではありません。今回は一つのシステムが否を返している点が判断の決め手になる。

選択肢ア

これは不正解だよ。COMMITの実行要求は、参加する各システムが更新を確定できると判断された場合に対応する。図ではシステム1が「可」と返す一方、システム2が「否」と返しているため、全体を確定するCOMMITを調停者が発行する状況ではない。

選択肢イ(正解)

これは正解だよ。調停者からのCOMMIT可否問合せに対し、システム1は「可」、システム2は「否」を返している。分散トランザクションでは、全システムが可でない場合に更新を確定できないため、調停者は処理を取り消すROLLBACKの実行要求を発行する。

選択肢ウ

これは不正解だよ。判定レコードの書出し要求は、図に示された調停者と各システム間のCOMMIT可否問合せへの応答後に、シーケンスaとして送られている処理とは一致しない。シーケンスaは、否の応答を受けた後のトランザクション全体への処理要求である。

選択肢エ

これは不正解だよ。ログ書出しの実行要求は、更新処理の記録に関する操作であり、図のシーケンスaが表すトランザクションの確定可否に応じた要求とは異なる。システム2から否の応答が返っているため、必要なのはログ出力ではなく更新の取消しである。

学習のポイント

二相コミットにおける可否応答と、調停者が行う確定・取消し判断の関係を理解する。

出典:独立行政法人 情報処理推進機構(IPA)平成26年度春期 プロジェクトマネージャ試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針