IPA過去問ドリル

平成21年度 秋期 応用情報技術者試験 午前 問31

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

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

出典:平成21年度 秋期 応用情報技術者試験 午前 問31

正解:イ

解説

2相コミットプロトコルでは,調停者に障害が発生してその回復処理が完了しない限り,フェーズ1でコミット了承の応答をした参加者は,調停者からのフェーズ2の指示(コミットかロールバックか)を受け取れず,コミットもロールバックも行えない不確定状態に陥ることがあります。これはブロッキング問題として知られています。

選択肢ごとの解説

  • 誤り。参加者はフェーズ1でコミット了承(コミット可能)の応答をした後は,フェーズ2の指示を受けるまで独断でローカルにコミットすることはできません。
  • 正しい。調停者に障害が起きて回復が完了しない間,参加者はコミットもロールバックも行えないブロッキング状態に陥ることがあります。
  • 誤り。2相コミットプロトコルでは通常,一つの分散トランザクションに調停者は一つだけであり,複数の調停者が同時に存在する構成は一般的ではありません。
  • 誤り。フェーズ1で応答のない参加者が存在する場合,調停者は安全のためトランザクション全体をロールバックするのが原則であり,強制的にコミットすることはできません。
応用情報技術者の過去問を演習モードで解く