TP1キャッシュでCL連携による系切り替え機能使用時,コミットと同期して行うRPC応答メッセージの送信処理のタイミングをCL連携の転送処理の結果と同期するための機能です。
TP1キャッシュのCLサーバで,RPC応答と転送処理のタイミングを変更するものです。
この機能の使用有無は,トランザクション関連定義のtrn_cl_rpc_reply_timingオペランドで指定できます。
この機能を使用するときに変更できる処理を次に示します。
次の条件をすべて満たした場合,トランザクション結果に加え,転送処理の結果をRPC応答メッセージに反映できます。
RPC応答メッセージの内容を,次の表に示します。
表2-17 RPC応答メッセージの内容
トランザクション結果 | 転送処理の結果 | RPC応答メッセージ |
---|---|---|
コミット | 正常 | RPC正常応答 |
転送失敗(孤立検知)※ | RPCエラー応答 (EERPCER_TRNCHK_EXTEND) | |
ロールバック | - | RPCエラー応答 (EERPCER_TRNCHK_EXTEND) |
永続化しないRPC要求メッセージを受信した場合について,次のケースのそれぞれの処理シーケンスを示します。
図2-30 RPC応答の送信タイミング変更機能使用時(trn_cl_rpc_reply_timing=Y)の処理シーケンス
図2-31 この機能を使用しないときの処理シーケンス
永続化するRPC要求メッセージを受信した場合について,次のケースの処理シーケンスを示します。
なお,RPC永続指定ありの場合は,各ケースで処理シーケンスに変更はありません。
図2-32 RPC応答の送信タイミング変更機能使用時(trn_cl_rpc_reply_timing=Y)の処理シーケンス,およびこの機能を使用しないときの処理シーケンス
この機能使用時,転送処理失敗により実行系孤立状態を検知した場合には,クライアントからのRPC要求はエラー応答となり,待機系に転送処理が反映されているか不明となります。このため,TP1キャッシュのメモリDBは実行系と待機系で不一致となることがあります。
RPC要求をリトライする場合,2重実行されても問題ないようなUAPを作成する必要があります。
メモリDBの不一致となるケースの例を次に記します。
図2-33 すべての待機系が転送失敗となった場合の流れ
図2-34 1台ずつ転送失敗となった場合の流れ