Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging

[目次][用語][索引][前へ][次へ]

9.4 キューの障害

Reliable Messagingがキューに関連する障害を検知した場合,該当のキューが閉塞状態になる場合があります。閉塞状態のキューは,hrmdelqueコマンドおよびhrmlsqueコマンドだけ受け付け,それ以外のコマンドおよびメッセージの送受信は実行できません。Reliable Messagingは,次の契機でキューの障害を検知します。

キューの障害が発生したときの対処方法について次に説明します。

<この節の構成>
(1) Reliable Messagingの復元処理時の管理情報テーブルの不正
(2) 共用キューのキュー復元時のバージョン不正
(3) 共用キューが保持するデータの不正および矛盾

(1) Reliable Messagingの復元処理時の管理情報テーブルの不正

Reliable Messagingの復元処理時に,管理情報テーブル(キュー情報テーブル,FIFO情報テーブル,およびメッセージ情報テーブル)のレコードの不正が検知された場合,キューが閉塞します。復元対象と対処方法を次の表に示します。

表9-13 管理情報テーブルのレコード不正検知時の復元対象とその対処方法

復元対象 対処方法
キュー情報テーブル hrmdelqueコマンドで該当のキューを削除してください。
FIFO情報テーブル hrmdelqueコマンドで該当のキューを削除してください。
メッセージ情報テーブル Reliable Messagingを停止したあと,不正なメッセージ情報テーブルのレコードを削除してください。

注※
該当のFIFOが属するキュー名が不正(存在しない)である場合は,Reliable Messagingがメッセージを出力して,FIFOを削除します。

(2) 共用キューのキュー復元時のバージョン不正

共用キューの復元時に,復元した共用キューのバージョンが,使用中のReliable Messagingのバージョンに対応する共用キューバージョンと互換性がなかった場合,該当の共用キューを閉塞します。受信用共用キューの場合は,共用キュー用のDBテーブルに格納されているバージョンをチェックし,送信用共用キューの場合は,格納先のDBテーブルに格納されているバージョンをチェックします。なお,格納先のDBテーブルが存在しない場合も不正とみなして閉塞します。

Reliable Messagingを停止したあと,受信用共用キューの場合は該当の共用キューを,送信用共用キューの場合は格納先の受信用共用キューをバージョンアップしてください。共用キューのバージョンアップについては,「付録H.3 共用キューのバージョンアップ」を参照してください。

(3) 共用キューが保持するデータの不正および矛盾

Reliable Messaging起動時,メッセージ送受信時,コマンド実行時など,共用キューのDBテーブルにアクセスする契機でDBの情報に不正や矛盾を検知すると閉塞します。なお,閉塞した共用キューは使用できないため,hrmdelqueコマンドで削除してください。