3.4.12 DBキューのメッセージ読み出しトランザクションロールバック時の機能の優先順位
メッセージ読み出しトランザクションが,障害や関数の発行によってロールバックした場合,次に示す機能が有効になります。
-
連続ロールバックの監視
DBキュー機能関連定義のdbq_rollback_retry_countオペランドで監視回数を指定します。
-
ロールバック時のメッセージスキップ
dbqgrpdef定義コマンドの-sオプション,または-rオプションでメッセージスキップの有無を指定します。
dbqgrpdef定義コマンドの-rオプションについては,TP1/FSPの関連ドキュメントを参照してください。
-
障害発生時の自動読み出し停止
DBキュー機能関連定義のdbq_read_error_uap_stopオペランドで障害ケースを指定します。
これらの機能の対象になるロールバック要因,および有効になる機能が複数ある場合の関係を次の表に示します。
|
項番 |
ロールバック要因 |
対象になる機能 |
|||
|---|---|---|---|---|---|
|
連続ロールバックの監視 |
ロールバック時のメッセージスキップ |
障害発生時の自動読み出し停止 |
|||
|
-sオプション指定 |
-rオプション指定 |
||||
|
1 |
メッセージ読み出しエラー |
− |
− |
− |
◎ |
|
2 |
サービス関数の実行中のスレッドダウン※1 |
− |
◎ |
− |
○ |
|
3 |
メッセージ読み出し通番更新エラー |
− |
− |
− |
◎ |
|
4 |
サービス関数のリターン時の同期点処理障害 |
− |
− |
− |
◎ |
|
5 |
ee_trn_rollback_mark関数の発行※2 |
◎ |
○ |
− |
− |
|
6 |
関数の発行によるスレッドダウン※2,※3 |
◎ |
○ |
− |
− |
|
7 |
連鎖モードのロールバック※4 |
− |
− |
− |
− |
|
8 |
連鎖モードのコミット時の同期点処理障害※5 |
− |
− |
− |
− |
|
9 |
リトライモードのロールバック |
− |
− |
◎ |
− |
|
10 |
サービス関数実行中のTP1/EEのプロセスダウン |
− |
− |
− |
− |
- (凡例)
-
◎:最優先で有効になる機能
○:有効になる機能
−:無効になる機能
- 注※1
-
thkind引数にEETRN_KILLまたはEETRN_ABRTを設定したee_trn_chained_rollback関数の発行によるスレッドダウンは含みません。
- 注※2
-
連続ロールバックの監視,およびロールバック時のメッセージスキップの二つの機能が有効の場合,リトライ回数の上限を超えるとメッセージをスキップします。
- 注※3
-
thkind引数にEETRN_KILLまたはEETRN_ABRTを設定したee_trn_chained_rollback関数の発行によるスレッドダウンです。
- 注※4
-
thkind引数にEETRN_KEEPを設定したee_trn_chained_rollback関数の発行によるロールバックです。
- 注※5
-
ee_trn_chained_commit関数の発行によるコミットです。