たぷつきません

おなかがでてきた。もうたぷついてるやん。

クラスタリングが機能しなくなるケース

 s2daoデッドロックがきっかけで判明したのですが、リクエストコネクションプールのスレッドが全てBlockingメソッドによって枯渇するとtomcatは無反応になります。これはもちろん既知の上なので良いのですが、そのために仕込んでいるjk_connectorが、ペアのtomcatが元気なのにも拘らず、リクエストを割り振らずに無応答になってしまいます。jkstatusの画面さえ出なくなるという危機的状況です。裏ネゴでJVMの死活は見ていても、コネクションが枯渇していることの確認が行われていないようです。jkstatusは状況情報をtomcatにリクエストするのもHTTPコネクション(デフォで8009のやつ)を使っているんじゃなかろうか。この問題はjk_connectorのmax_connection_poolの数をtomcatのスレッドプールより下回るようにしても解消されません。jk_connectorは無応答のtomcatへのリクエストにはタイムアウトを以って切断するので結局空きコネクションがtomcatのそれを上回ってしまうためです。
 この問題の解決が出来ないまま運用しているのですが、何かのアプリやフレームワークのバグでリクエストがロックするようなことも今後ないとも限らないので心配でたまりません。Webサーバ3台構成なので最悪の事態にそうはならないのですがセッションレプリケーションは1WebサーバごとにAppサーバがペアで行っているだけなのでセッションは維持できないことになります。困りました。