平成21年度 秋期 応用情報技術者試験 午前 問31
分散トランザクション処理で利用される2相コミットプロトコルでは,コミット処理を開始する調停者(coordinator)と,調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち,適切なものはどれか。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:イ
-
ア: フェーズ2のコミット要求を受信していなくても,ローカルにコミットできる
誤り。参加者はコミット了承を返した後,調停者からのフェーズ2の指示(コミットかロールバックか)を待つ必要があります。ほかの参加者が拒否した場合はロールバックになるため,勝手にコミットしてはいけません。 -
イ: 調停者の障害のタイミングによっては,参加者全員がコミットもロールバックも行えない事態が起こる
正しい。参加者がコミット了承を返した後(セキュア状態)に調停者が障害で停止すると,参加者はコミットすべきかロールバックすべきか判断できず,調停者が回復するまで待ち続けることになります(ブロッキング)。 -
ウ: 調停者の数が2,参加者の数が3となり得る
誤り。2相コミットでは,一つの分散トランザクションの調停者は一つです。 -
エ: 返答のない参加者が存在しても,強制的にコミットできる
誤り。フェーズ1で全ての参加者からコミット了承が得られなかった場合,調停者は全参加者にロールバックを指示します。
答え
イ: 調停者に障害が発生するタイミングによっては,その回復処理が終わらない限り,参加者全員がコミットもロールバックも行えない事態が起こる。
出典:平成21年度 秋期 応用情報技術者試験 午前 問31