Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


2.3 TP1/EEのスレッド

TP1/EEのスレッドには,サービスを処理するための処理スレッドや,RPC通信メッセージを受信するための受信スレッドなどがあります。TP1/EEでは,一つのプロセス内で複数のスレッドを起動してマルチスレッドで処理することによって,同時に複数のUAPを実行できます。

TP1/EEで動作するスレッドと,各スレッドの処理内容を次の表に示します。

表2‒1 TP1/EEのスレッド一覧

スレッド名称

処理内容

メインスレッド

TP1/Server Baseから,TP1/EEプロセスで最初に起動されるスレッドです。

モニタスレッド

メインスレッドによって起動されるスレッドです。

TP1/EEの初期化処理,およびTP1/EE内の全スレッドの起動,終了,監視,終了待ち合わせをします。

シグナルスレッド

プロセス内の全シグナルを受信するスレッドです。

シグナル受信後,各シグナルに対応する処理をします。

TASKTMスレッド

トランザクション単位の統計情報などをTASKTMファイルや回線トレースファイルに出力するスレッドです。TASKTMスレッドには,次に示すスレッドがあります。

  • XDBトレーススレッド

    XDBトレース情報を出力します。

  • PPトレーススレッド

    MCPトレース情報を出力します。

  • 統計情報スレッド

    TP1/EEシステムの統計情報を出力します。

コマンドスレッド

コマンドプロセスからのコマンド要求を受信するスレッドです。受信したコマンド要求は処理キューに登録され,コマンドの処理は処理スレッドが行います。

処理スレッド

トランザクション処理をするスレッドです。システム定義で複数起動できます。処理スレッドには,次に示すスレッドがあります。

  • 通常処理スレッド

  • 予備処理スレッド

送信スレッド

コミット同期送信処理でエラーが発生した場合にリトライ送信をするスレッドです。プロセス関連定義のrpc_cmtsend_retryオペランドにNを指定した場合,リトライが無効になるため,このスレッドは起動されません。

また,送信スレッドは,TP1キャッシュ機能使用時にMCHメッセージの送信を行います。

受信スレッド

RPC通信でのメッセージを受信するスレッドです。受信したメッセージを基にサービスが処理キューに登録され,実際の処理は処理スレッドで行います。受信スレッドには,次に示すスレッドがあります。

  • 応答受信スレッド

    RPC要求メッセージへの応答メッセージや,トランザクション制御のメッセージを受信します。

  • rapクライアントスレッド

    rapクライアントとして動作する場合に,rapサーバからのメッセージを受信します。

  • rap受信スレッド

    rapサーバとして動作する場合に,rapクライアントからのメッセージを受信します。

  • DBキュー受信スレッド

    DBキューを使用したシステム間のTCP/IP通信時に,イベント通知メッセージを受信します。

  • MCP受信スレッド

    MCPのメッセージを受信します。

  • UDP受信スレッド

    TP1キャッシュ機能使用時に,UDP通信のメッセージを受信します。

監視スレッド

トランザクション処理中のエラー発生時の回復を監視するスレッドです。監視スレッドには,次に示すスレッドがあります。

  • 通信障害監視スレッド

    トランザクション処理中に他プロセスとの通信障害が発生した場合の障害回復を監視します。

  • リソースマネジャ障害監視スレッド

    トランザクション処理中にリソースマネジャ障害が発生した場合の障害回復を監視します。

  • 履歴情報監視スレッド

    UAP履歴情報取得機能を使用する場合に,UAP履歴情報グループ内で未使用の履歴情報表の数やスワップ処理の完了を監視します。UAP履歴情報取得機能については,TP1/FSPの関連ドキュメントを参照してください。

回復スレッド

トランザクションの回復処理をするスレッドです。プロセス関連定義のrecover_thread_noオペランドで複数起動できます。

ネームスレッド

ネームサービスを使用する場合に,TP1/Server Baseのネームサービスと連携するスレッドです。

転送スレッド

負荷を分散する場合に,自ノード内の他TP1/EEプロセス,または他ノードにRPCメッセージを転送するスレッドです。

系監視スレッド

HAモニタとの連携を行うスレッドです。