Apache→Tomcat連携のmod_proxy_ajpのAJP Connectorの設定

connectionTimeoutを設定する。

アクセスが無い場合、1800秒でコネクションを切断する設定がFWにしてありました。しかも仕様で、コネクションを切断したことは利用側(この場合AP、DB)には切断したことを通知しないらしい。てことで、「ESTABLISHED」だと思っているAP側は、ふつーにアクセスして帰らぬ人となる、と・・・。

昔、アプリが帰らぬ人になって私も帰れなくなり、サーバルームで徹夜したことがあるけど、なんかこれと似たような原因だったような気がするな。その時はアプリ担当としてはソースを見直したり、帰らないプロセスを強制終了するような回避策を入れたけど、根本原因が分からないままで終わってしまった。FWを別組織のインフラ担当がやっていたりすると、アプリ開発側としては接続のタイムアウトを有限にするぐらいしか自衛策はないかな。デフォルトでタイムアウト値が無制限のままになっている個所はないか確認するなど。