7.2.7 MCP障害(メッセージ送信時の転送障害)

MCP障害(メッセージ送信時の転送障害)の障害処理について,次の表に示します。

表7-10 MCP障害(メッセージ送信時の転送障害)の障害処理

障害内容MQTの障害処理ユーザの処理
転送キューのメッセージ不正(チャネルの転送サイズオーバ含む)
  1. <16334-E>「メッセージ異常検出」
  2. デッドレターキューがある場合:送信中のメッセージを登録し,送信処理を続行します。
  3. デッドレターキューがない場合(コーラ側):
    (a)送信中のメッセージ※1を転送キューに戻し,コネクションを強制解放してチャネルを終了します。
    (b)チャネル定義のMCP障害再試行の指定によって,チャネル確立を再試行します。
    (c)再試行しないとき※2,または再試行回数を超えたときはチャネルを終了します(チャネル使用不可状態)。
  4. デッドレターキューがない場合(レスポンダ側):送信中のメッセージ※2を転送キューに戻し,コネクションを強制解放してチャネルを終了します(チャネル使用不可状態)。
2.の場合は,メッセージを登録したアプリケーションを起動してください。
3.の(c)または4.の場合は,転送キューから該当するメッセージを取り除き,メッセージを登録したアプリケーションを起動したあと,mqtstachaコマンドを入力してください。
メッセージ取り出し障害
  1. <16333-E>「キューファイル障害発生」
  2. メッセージ1の送信を中断します。
  3. コネクションを強制解放します。
  4. コーラ側:
    (a)チャネル定義のMCP障害再試行の指定によって,再試行します。
    (b)再試行しない場合※2,または再試行回数を超えた場合はチャネルを終了します(チャネル使用不可状態)。
  5. レスポンダ側:チャネルを終了します(チャネル使用不可状態)。
障害要因を取り除いたあと,4.の(b)の場合は,mqtstachaコマンドを入力してください。
メッセージシーケンス番号不一致
  1. <16343-E>「シーケンス番号不一致」
  2. メッセージの送信を中断します。
  3. 送信中のメッセージ1は転送キューに戻されます。
  4. コーラ側:
    (a)チャネルを終了します。
    (b)チャネル定義のMCP障害再試行の指定によって,チャネル確立を再試行します。
    (c)再試行しない場合※2,または再試行回数を超えた場合はチャネルを終了します(チャネル使用不可状態)。
  5. レスポンダ側:チャネルを終了し,再度相手システムからのコネクション確立要求を待ちます(チャネル停止状態)。
mqtrstchaコマンドを入力し,番号を一致させてください。4.の(c)の場合は,mqtstachaコマンドを入力してください。
相手デッドレターキューにメッセージが登録された
  1. <16335-W>「デッドレターキューに登録された」
  2. メッセージの送信を続行します。
相手システムのデッドレターキューのメッセージを取り出し,原因を調査してください。
転送キュー重複使用
  1. <16315-E>「キューが他サーバで使用中」
  2. メッセージ1の送信を中断します。
  3. コネクションを強制解放します。
  4. コーラ側:
    (a)チャネル定義のMCP障害再試行の指定によって,チャネル確立を再試行します。
    (b)再試行しない場合※2,または再試行回数を超えた場合はチャネルを終了します(チャネル使用不可状態)。
  5. レスポンダ側:チャネルを終了します(チャネル使用不可状態)。
自システム内のシステムサーバで該当キューが重複使用されていないか確認し,構成を変更してください。
(凡例)
< >:出力されるメッセージログIDです。メッセージログIDには,先頭にKFCAが付きます。
「 」:メッセージログの内容です。
注※1
バッチ転送によって複数のメッセージを転送していた場合,そのバッチのすべてのメッセージが該当します。
ファーストチャネルが転送する非永続メッセージが,転送キューから取り出されて相手システムに登録される前に,該当するバッチに障害が発生した場合,非永続メッセージは破棄されることがあります。
注※2
クラスタチャネルの場合は,チャネル状態は「チャネル停止」になります。