アプリケーショングループの起動停止失敗について

事象説明

    アプリケーショングループの起動停止は、環境追加/削除と閉塞/閉塞解除の二段階で行います。

      環境追加:メモリ上に情報展開、プロセス起動

      閉塞 :新規リクエストを受け付けない状態

      環境削除:プロセスは全部停止、メモリ上からも情報削除

    ユーザからの起動停止要求を各制御プロセスに送信し、それが成功した後は、要求した状態になったか どうか状態監視を行います。起動時に起動状態にならない、あるいは停止時の閉塞処理やその後の状 態チェック中にタイムアウトなどで処理が終わると、配下のプロセスが起動しているときは「起動処理中 (starting)」「停止処理中(stopping)」、プロセスが停止しているときは「起動停止処理失敗(failed)」という状 態になります。

    アプリケーショングループの起動停止のエラーに関して説明します。

タイムアウト

    起動停止処理タイムアウト

    統合運用管理ツールや運用管理コマンドから指定可能なタイムアウト値(startTimeOut, stopTimeOut 既定 値120 秒)は一連の起動停止処理の流れの中で、どれだけ時間をかけられるかに影響します。

    起動停止処理時、各制御プロセスへの処理要求や状態監視実行中に処理開始時刻+タイムアウト値を 過ぎると、一連の処理を終了します。またそのとき、WARNING としてイベントログ・シスログにタイムアウト のメッセージを出力します。

    起動時

    startApplicationGroup timeout :タイムアウト時間

    (com.nec.webotx.enterprise.system.TPMonitorManager.nrb)

    停止時

    stopApplicationGroup timeout :タイムアウト時間

    (com.nec.webotx.enterprise.system.TPMonitorManager.nrb)

    なお、ここでの起動停止処理がタイムアウトしても、各制御プロセスに出された要求が取り消されるわけ ではありません。要求された処理はそのまま実行されます。それ以降の処理は行われません。

    例えば、閉塞処理完了後、環境削除要求前にタイムアウトした場合は、閉塞のみ行われてそれ以降の処 理が行われないため、状態は「起動停止処理失敗(failed)」になります。

    閉塞処理タイムアウト

    起動停止処理全体のタイムアウト値のほかに、タイムアウト値は各処理にも別に設けられています。こち らのタイムアウト値は統合運用管理ツールから変更することはできません。

    アプリケーショングループ閉塞時、配下のプロセスがクライアントからのオペレーションを実行中である場 合、オペレーションの応答を保障するためプロセス停止処理を待ち合わせます。プロセスの処理が終わ ればプロセス停止処理を行いますが、時間がかかりすぎる場合は先に閉塞処理がタイムアウトします。

    あるいは、プロセスがストールしていて停止要求に応答しなかった場合も、先に閉塞処理がタイムアウトします。

    閉塞処理実行中に70 秒経過すると、統合運用管理ツール、あるいは運用管理コマンドに以下のメッセージを出力します。

      操作の実行に失敗しました。

      Exception invoking method in runtime bean stop

      Target exception message: TPA ERROR: TPS12-03217 レスポンス待ち時間をオーバーしました。

    停止処理はここで終了するため、環境削除処理が行われません。そのため、アプリケーショングループ の状態は、プロセスが終了しない間は「停止処理中(stopping)」に、プロセスが終了した後は「起動停止処 理失敗(failed)」になります。これらの状態になった場合、強制停止を行う必要があります。

その他ERROR

    統合運用管理ツールや運用管理コマンドに以下のメッセージが出力された場合も、起動停止処理失敗となっています。強制停止が必要となります。

      起動時

      Exception thrown in operation dottedNameInvoke : Exception invoking method in runtime bean start

      Target exception message: TPA ERROR: TPS04-00804 環境は非活性ではありません。PED:アプリケーショングループ名.ped

      停止時

      Exception thrown in operation dottedNameInvoke : Exception invoking method in runtime bean stop

      Target exception message: TPA ERROR: TPS04-00805 環境は活性ではありません。PED:アプリケーショングループ名.ped

状況の確認方法

    アプリケーションの起動/停止処理で問題が発生している可能性があります。→ サーバアプリケーションの障害

採取資料

    イベントログ(アプリケーション、システム)・シスログ

    ${INSTANCE_ROOT}/logs/server.log

    ${INSTANCE_ROOT}/logs/webotx_agent.log

    ${INSTANCE_ROOT}/logs/tpsystem/webotx_tpmmgr.log

復旧方法

    アプリケーショングループが「起動停止処理失敗(failed)」になった場合、あるいは、「起動処理中 (starting)」「停止処理中(stopping)」から状態が更新されない場合は、アプリケーショングループの強制停 止を行ってください。

    強制停止の方法については、「TPモニタの運用操作 2.6 アプリケーショングループの起動・停止」を参照してください。

    ただし、強制停止を行なった場合、実行中のオペレーション処理は強制終了させます。そのため、オペレ ーションの保証は行なえません。したがって強制停止は通常停止が行なえない場合に限りご利用ください。 なお、環境削除要求を出した後にタイムアウトした場合は、環境削除処理自体は制御プロセスにより続け られるため、最終的に停止状態になります。

予防のための対策

    サーバアプリケーションの障害に従い対策を講じてください。

    起動・停止に時間がかかることが理論上ありえるのであれば、「運用編(チューニング) 2.5.1 起動・停止タ イムアウト(メッセージ表示)」を参照し、必要に応じてあらかじめタイムアウト時間に大きな値を設定してください。


関連情報

    サーバアプリケーションの障害

    TPモニタの運用操作 2.6 アプリケーショングループの起動・停止

    チューニング 2.5.1 起動・停止タイムアウト(メッセージ表示)

    トラブルシューティング(障害解析)