Tomcat 6.0.24のclearReferences系のエラーログ

Tomcat 6.0.24では(22あたりから?)、clearReferenceまわりの処理が強化したのか、以下のようなエラーログがでるようになってしまった。これはどうすれば良いのかね。Tomcatのコードをよく読まんとわからん…。

2010/02/09 6:26:01 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
致命的: A web application registered the JBDC driver [org.h2.Driver] but failed to
unregister it when the web application was stopped. To prevent a memory leak, the
JDBC Driver has been forcibly unregistered.
2010/02/09 6:26:01 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
致命的: A web application registered the JBDC driver [org.h2.Driver] but failed to
unregister it when the web application was stopped. To prevent a memory leak, the
JDBC Driver has been forcibly unregistered.
2010/02/09 6:26:01 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
致命的: A web application appears to have started a thread named [Seasar2-TimeoutManager]
but has failed to stop it. This is very likely to create a memory leak.
2010/02/09 6:26:01 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
致命的: A web application appears to have started a thread named [H2 Log Writer FESS]
but has failed to stop it. This is very likely to create a memory leak.
...

差分クロール

Fess 3.0 のやりたいことリストで書き忘れてたけど、差分クロールを実装してみた。今までは Last Modifed を気にせず、GET しにいっていたけど、前回クロールで取得していたら、HEAD で Last Modified を取得・比較して、更新されていたら GET しにいって、インデックスを更新する。差分クロールをするかどうかは管理画面から変更可能な感じ。差分クロールすると外部へのコンテンツ取得の負荷は下がるけど、前回データが Solr の中にあるので(つまりSolrに聞きにいくことになる)、Solrへの負荷が上がる感じ。というわけで、それを踏まえて利用するかどうかを決めるのが良いかと。

次は、外部から接続可能なAPIを作ることかな…。

Fess 3.0 でやりたこと

Fess 3.0 でやりたいことをあげてみる。

  • Solr 1.4対応
  • Solrの設定をマルチコアにしておく
  • クロール処理のプロセス化
  • 設定ウィザード
  • ヘルプ機能

Solr 1.4は前から移行しようと思ってたことだけど、マルチコア設定は一つのSolrで複数のFessを扱いやすいようにしたいのでデフォルトでマルチコアにしやすい設定ファイル構成に変えました。Solrの移行系作業は既に完了して、クロール処理のプロセス化に取り組み中。今まではスレッドでクロール処理をしていたのだけど、これだとたとえばJava自体のバグとか踏んだりするとデッドロックになる可能性があり、システム自体を立ち上げ直す必要がある。というわけで、別プロセスとしてクロール処理をすることで、そうなっても強制終了することができる。同じプロセス内のスレッドだと何ともしようがないからね。最後の二つは使いやすくしたいので、考え中。ルータの設定とかだと、設定ウィザードみたいなシンプルな設定をよく見るから、そんな感じで設定もできるようにしたい。ヘルプ機能はHudsonのようにフォームの右側にヘルプアイコンを用意しておいて、クリックするとヘルプが表示されるのをイメージしている。そんな感じで、進めていこうかとおもってますー。