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

事象説明

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

      環境追加:メモリ上に情報展開、プロセス起動
      閉塞 :新規リクエストを受け付けない状態
      環境削除:プロセスは全部停止、メモリ上からも情報削除

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

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

タイムアウト

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

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

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

      起動時
      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
      

状況の確認方法

    アプリケーションの起動/停止処理で問題が発生している可能性があります。詳細は [ 2.4. 障害の種類から > 2.4.3. サーバアプリケーションの障害 ] を参照してください。

採取資料
復旧方法

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

予防のための対策

    [ 2.4. 障害の種類から > 2.4.3. サーバアプリケーションの障害 ] に従い対策を講じてください。

    起動・停止に時間がかかることが理論上ありえるのであれば、[ 高度な管理と運用サイクルガイド > 2. チューニング > 2.1. APサーバ > 2.1.4. その他チューニングに関する設定 > 2.1.4.1. 起動・停止タイムアウト(メッセージ表示) ] を参照し、必要に応じてあらかじめタイムアウト時間に大きな値を設定してください。


関連情報