9.4.1.2.1 コミットの成功条件の選択
1つのトランザクションに複数のグループが関係している場合、tpcommit()
が正常に制御を戻すための条件として、次のいずれかを指定できます。
- すべての参加リソースからコミットの準備が完了したことが通知された場合。つまり、すべての参加リソースが2フェーズ・コミットの第1フェーズが完了したことを報告し、トランザクション・コーディネータのTMSが安定記憶域にコミットの決定を書き込んだ場合です。
- すべての参加リソースで2フェーズ・コミットの第2フェーズが完了した場合。
この2つの条件のいずれかを指定するには、構成ファイルのRESOURCES
セクションのCMTRET
パラメータに、次のいずれかの値を設定します。
-
LOGGED
- 第1フェーズの完了が必須であることを示します -
COMPLETE
- 第2フェーズの完了が必須であることを示します
デフォルトでは、CMTRET
はCOMPLETE
に設定されます。
後で構成ファイルの設定値を変更する場合は、flags
引数にTP_CMT_LOGGED
またはTP_CMT_COMPLETE
を設定して、tpscmt()
を呼び出します。
親トピック: 2フェーズ・コミット・プロトコル