平成25年春期試験問題 午前Ⅱ 問13

2相コミットで分散トランザクションの原子性を保証する場合,ネットワーク障害の発生によって参加者のトランザクションが,コミットすべきかロールバックすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として,適切なものはどれか。

  • 調停者のトランザクションが,コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
  • 調停者のトランザクションが,コミット又はロールバックの決定を参加者に送る直前に障害になった。
  • 調停者のトランザクションに,コミット又はロールバック可否の応答を参加者が返す直前に障害になった。
  • 調停者のトランザクションに,コミット又はロールバックの完了を参加者が返す直前に障害になった。
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:トランザクション処理
解説
  • 調停者が2相コミット手続きの開始時に障害でダウンした場合、各参加者はタイムアウトと見なしてロールバックを行います。
  • 正しい。調停者にコミットの可否を応答した参加者は、いつでもコミットまたはロールバックが可能なセキュア状態になります。この状態は調停者からの指示を受け取るまで何の処理も行えません。
    このため各サブトランザクションからの応答を受けとった調停者が、行うべきアクションを各サイトに送信する直前(第2相の開始時)にダウンすると、参加者はコミットすべきかロールバックすべきかを判断できない不定状態に陥ります。
    13.gif
  • 定められた時間内に参加者からの応答がなければ、調停者はタイムアウトと見なしトランザクションを中止します。この際、ロールバック命令が全ての副サイトに伝達されるため参加者が判断に迷うことはありません。
  • この事例において参加者が障害でダウンするのは、調停者からコミット又はロールバックの指示を受け取り、その処理を完了した後です。既にどちらかのアクションを行うべきか決定しているため判断に迷うことはありません。

Pagetop