- PR -

TomcatのFORM認証でロックがおきることありますでしょうか?

1
投稿者投稿内容
みずは
会議室デビュー日: 2003/07/21
投稿数: 4
投稿日時: 2005-06-21 17:15
RedHat上でApache2 + mod_jk2 + Tomcat 5.0.28 (×2台) からoracleDB(9i)を使って
FORMベース認証を行っております(JDKは1.4.2_07)。

負荷分散、認証とも立ち上げ当初はうまくいくのですが、半日ほどするとTomcatがロック
してしまい動かなくなってしまいます。

kIll -QUIT PID にてスレッドダンプを取ってみるとバックグラウンドで動いているスレッド
のほとんどがロックがかかってしまっているような感じです。

他のコンテキストなどは動くので認証を掛けているところのみロックしているようなのですが、
原因が分からず困っております。
#JDBCRealmがコネクションをクローズしないとか考えましたが...。

同様の現象にみまわれた方などおりましたら、ポインタだけで構いませんので教えて頂ければ
幸いです。


かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-06-21 18:16
JDBCでロックする場合、
・コネクションの取得時にプールが空で開放待ち
・SELECTの対象となるテーブルが更新中(トランザクションが残っている状態)
ってことがよくあります。

ロックがどこで発生しているかも重要です。
コネクション取得時なのか、SQL実行時なのか・・・
スレッドダンプに該当ソースと行番号が出ていると思います。
Tomcatはソースが公開されていますから、見てみるのも重要です。

実際にはAPサーバのバグより、作り手に問題があるケースの方が多いです。
まずはAPサーバを疑うより、作成したソースに問題がないか
考えてみた方が早いと思います。

ユーザ情報テーブルの更新中に落ちて、
トランザクションが残っていたりしていませんか?
1

スキルアップ/キャリアアップ(JOB@IT)