分散トランザクション処理で利用される2相コミットプロトコルでは、コミット処理を開始する調停者(coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち、適切 なものはどれか。
ア | 参加者は、フェーズ1で調停者にコミット了解の応答を返してしまえば、フェーズ2のコミット要求を受信していなくても、ローカルにコミット処理を進められる。 |
イ | 調停者に障害が発生するタイミングによっては、その回復処理が終わらない限り、参加者全員がコミットもロールバックも行えない事態が起こる。 |
ウ | 一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、5個のシステム(プログラム)が関与している場合、調停者の数が2、参加者の数が3となり得る。 |
エ | フェーズ1で返答のない参加者が存在しても、調停者は強制的にそのトランザクションをコミットすることができる。 |
2層コミットプロトコルは一つのトランザクションが複数のサイトの更新を行う場合に整合性をとるため、すべてのサイトからのコミット応答を確認した後でなければコミット指示を出さない方式である。以下の手順で行われる。
ア | × | 参加者は、フェーズ2のコミット要求を受信しなければ、コミット処理を進められない。 |
イ | ○ | 参加者は調停者の要求がない限り更新処理を実行できない。したがって調停者に障害が発生した場合には最悪、参加者全員がコミットもロールバックも行えない事態が起こる。 |
ウ | × | 一つの分散トランザクションに複数の調停者及び参加者は存在しえない。 |
エ | × | フェーズ1で返答のない参加者が存在する場合、調停者はそのトランザクションをコミットすることができない。 |