情報処理安全確保支援士試験 情報セキュリティスペシャリスト試験 平成27年度春期 午前Ⅱ 問21: 分散トランザクション処理で利用される2相コミットプロトコルでは,コミット処理を開始する調停者(coordinator)と,調停者からの指示を受信してから必要なア
←情報セキュリティスペシャリスト試験 平成27年度春期 午前Ⅱ
分散処理で利用されるプロトコルでは,コミット処理を開始する調停者(coordinator)と,調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち,適切なものはどれか。
問題本文
分散トランザクション処理で利用される2相コミットプロトコルでは,コミット処理を開始する調停者(coordinator)と,調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち,適切なものはどれか。
選択肢
- ア.参加者は,フェーズ1で調停者にコミット了承の応答を返してしまえば,フェーズ2のコミット要求を受信していなくても,ローカルにコミット処理を進められる。
- イ.調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
- ウ.一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば,5個のシステム(プログラム)が関与している場合,調停者の数が2,参加者の数が3となり得る。
- エ.フェーズ1で応答のない参加者が存在しても,調停者は強制的にそのトランザクションをコミットすることができる。
正解
イ. 調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
解説
2相コミットは、調停者の準備指示(フェーズ1)に参加者が了承を返し、調停者が全了承を確認して確定指示(フェーズ2)を出す方式。ただし参加者が了承後に調停者が障害を起こすと、参加者は確定指示を待つしかなく(ブロッキング)、回復まで確定も取消もできない事態が起こり得る。実務ではこの弱点のため、タイムアウトやコーディネータ冗長化などの工夫が必要となる。
選択肢ごとの解説
- ア.了承後も参加者はフェーズ2の指示を待つ必要があり、勝手にコミットを進められないため誤り。
- イ.調停者障害により参加者が確定も取消もできないブロッキングが起こり得るため正しい。
- ウ.2相コミットの調停者は単一であり、5システムなら調停者1・参加者4となるため数の例が誤り。
- エ.応答のない参加者がいる場合、調停者は強制コミットできず通常は取消側に倒すため誤り。
情報セキュリティスペシャリスト試験 平成27年度春期 午前Ⅱ の過去問一覧へ戻る・問21