SC情報処理安全確保支援士試験 午前Ⅰ

平成21年度秋期 情報処理安全確保支援士 午前Ⅰ 問11

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

問題

分散トランザクション処理で利用される2相コミットプロトコルでは、 コミット処理を開始する調停者 (coordinator) と、 調停者からの指示を受信してから必要なアクションを開始する参加者 (participant) がいる。この2相コミットプロトコルに関する記述のうち、 適切なものはどれか。

選択肢

  1. ア
    参加者は、 フェーズ1で貞停者にコミット了承の応答を返してしまえば、 フェーズ2のコミット要求を受信していなくても、 ローカルにコミット処理が進められる。
  2. イ
    調停者に障害が発生するタイミングによっては、 その回復処理が終わらない限り、 参加者全員がコミットもロールパバックも行えない事態が起こる。
  3. ウ
    一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、 5個のシステム (プログラム) が関与している場合、 調停者の数が2、 参加者の数が3となり得る。
  4. エ
    フェーズ1で返答のない参加者が存在しても、 調停者は強制的にそのトランザクションをコミットすることができる。
解き方のヒントを見る

まとめ役のリーダー(調整者)が倒れると、メンバー全員が待ちぼうけになる

データベースを確定させる「2相コミット」の弱点を答える問題だよ。まとめ役のリーダー(調整者)とメンバー(参加者)が連携して進めるが、フェーズ1で賛成したあと、フェーズ2の「確定(コミット)しろ!」という指示が届く前にリーダーが壊れていなくなると、メンバーは次の指示をずっと待ち続けて動けなくなる(ブロッキング)よ。

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

調整者が動かなくなると、参加者は自分一人で勝手にコミットや中止を決めることができず、処理が「保留状態で停止(ブロッキング)してしまう」というデメリットを答えよう。

2 相コミットの待ち状態

2 相コミットでは、フェーズ 1 で全 participant の準備完了を集めた後、coordinator がフェーズ 2 で commit / rollback を通知します。この最終通知が届かないまま coordinator が落ちると、participant は独断で確定できません。

Phase1: prepare / vote\nPhase2: commit or rollback 通知\n通知前に coordinator 障害 -> participant は保留

確認ポイント

  • participant は commit 可と返しても、最終通知前に単独確定できません。
  • 返答のない participant がいても、coordinator は勝手に commit できません。
  • 2 相コミットの弱点は「ブロッキング」です。
正解と解説を見る

正解

イ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

これは間違いだよ。参加者がフェーズ1で「コミットOK」と返すのは、あくまで「準備できたよ」という意味で、まだ本当にコミットしていいわけではないんだ。結婚式で「参加できます」と返事しただけで、勝手に式を始めるようなものだよ。フェーズ2で調停者から正式に「コミットして」と言われてから、ローカルのコミット処理を進める必要があるよ。

選択肢イ(正解)

これは正解だよ。2相コミットでは、参加者が「コミットしていいよ」と返した後は、調停者から最終指示が来るまで勝手に進めないんだ。レストランで幹事に「注文OK」と伝えたあと、幹事が倒れて戻ってこないと、注文確定かキャンセルか分からず全員が待つ状態になる感じだよ。調停者の回復が終わるまで、参加者がコミットもロールバックもできない場合があるんだ。

選択肢ウ

これは間違いだよ。基本的な2相コミットでは、1つの分散トランザクションを仕切る調停者は1人で、参加者が複数いる形だよ。クラスの出欠確認で、先生が1人いて生徒が複数いるイメージだね。先生役が2人いると、どちらの最終指示に従うのか混乱してしまうよ。

選択肢エ

これは間違いだよ。2相コミットでは、フェーズ1は「みんな準備OK?」と確認する段階なんだ。返事がない人がいるのに強制コミットするのは、全員の同意を取らずに旅行代を勝手に支払うようなもの。後で「準備できてなかった!」となると整合性が崩れるので、調停者は強制的にコミットできないよ。

出典:独立行政法人 情報処理推進機構(IPA)平成21年度秋期 情報処理安全確保支援士試験 午前Ⅰ 問11(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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