[fess-user 300] Re: インデックスの作成が停止します

Back to archive index

Sugano ganos****@gmail*****
2010年 7月 20日 (火) 22:54:42 JST


お世話になってます。
すがのです。

本件ですが、原因が判明して、特定の条件を満たしたExcelファイ
ル(xlsx)が原因で、メモリエラーが発生していたことがわかりまし
た。

経緯を説明しますと、まず、maxDocumentCacheSizeを10→5→2と変
更して何度か再実行しても現象は変わりませんでした。

しかし、毎回約1万ファイル程度処理した時点で、ほぼ同様のメモ
リエラーが発生しているようだったので、特定のファイルが原因で
はないかと想定して調査したところ、特定のExcelファイル(xlsx)
を読み込んだときに、使用メモリが10秒程度で急増(1G以上増加)し
て、メモリエラーが発生したことがわかりました。

その特定のExcelファイルですが、ファイルサイズは8MB程度なので
すが、中のデータ量がDBみたいに多く(項目20列程度のデータが約7
万行)、このExcelファイルの中のデータを全て読み取ろうとして、
メモリが枯渇した可能性があると想定しております。
※このファイル1つのみをピンポイントでクロールに読み込ませて
 テストしたところ、使用メモリが急増してエラーが発生しました。

さしあたり、このファイル自体は、クロール対象から除外すること
で、一時的な回避はできたのですが、同じファイルサーバの中に、
似たようなExcelファイルがいくつか存在している様で、本日3回ほ
どメモリエラーで異常終了して、クロール処理を完了できない状態
となっております。
(20〜40列・6〜8万行・数MB程度のxlsxファイルを、現時点で3つほ
どエラーの都度発見しており(※もっとある可能性大)、その度に、
原因xlsxファイルを検索除外対象にする作業を繰り返している状態
です)

上記、エラー発生する都度、検索除外対象とするのは効率が悪いの
で、何とか回避したいと思っておりますが、何か良い方法などはあ
りますでしょうか?
(特定のファイルでメモリエラーが発生しても、クロール処理が継
続して正常稼動するのが理想ですが、プログラム改修による対応は
困難でしょうか?)

上記、アドバイスなどがありましたら、ご回答をお願いいたします。
以上、よろしくお願いします。
> ----Original Message----
> Sun, 18 Jul 2010 21:26:01 +0900
> From:     Sugano <ganos****@gmail*****>
> To:       fess-****@lists*****
> Cc:       
> Subject:  Re: [fess-user 297] Re:インデックスの作成が停止し
>           ます
> 

> お世話になってます。
> すがのです。
> 
> 本件、了解です!
> 連休明けにでも試してみます!
> 
> ご回答ありがとうございました!
> > ----Original Message----
> > Sun, 18 Jul 2010 07:48:35 +0900
> > From:     Shinsuke Sugaya <shins****@yahoo*****>
> > Reply-To: fess-****@lists*****
> > To:       fess-****@lists*****
> > Subject:  [fess-user 297] Re:インデックスの作成が停止します
> > 
> 
> > 菅谷です。
> > 
> > >  (CPU:Core 2 Duo 2GHz、メモリ:1.5GB)
> > 
> > この環境ですと、Fess 的には mx を 512m くらいが
> > 上限な気がしますので、1 回あたりの Solr に送る
> > ドキュメント数を下げるのが良い気がします。
> > webapps/fess/WEB-INF/cmd/resources/app.dicon
> > で
> > 
> >     <component name="indexUpdater"
> > class="jp.sf.fess.solr.IndexUpdater" instance="prototype">
> >         <property name="maxDocumentCacheSize">5</property>
> >     </component>
> > 
> > というように maxDocumentCacheSize を下げることが
> > できます。デフォルトでは 1 回で 10 ドキュメントを
> > Solr に送ります。
> > 
> > shinsuke
> > 
> > 2010年7月17日11:21 Sugano <ganos****@gmail*****>:
> > > お世話になってます。
> > > すがのです。
> > >
> > >> > ご質問があるのですが、クロールで集めた情報(H2DB)を、
> > >> > SolrDB
> > >> > へ
> > >> > 手動で登録する方法(機能など)はありませんでしょうか?
> > >>
> > >> 現状、ないです。クロールデータについては
> > >> パフォーマンスに大きな影響を与えるので
> > >> 消せるときに消す感じにしています。ただ
> > >> 今回のように例外的にクロールを抜けるような
> > >> 場合に残せるかどうかは検討してみます。
> > > 了解しました。
> > > 是非、お願いします。
> > >
> > >> > ※少なくとも、catalina.outにはエラーメッセージなどは出力
> > >> > さ
> > >> > れ
> > >> > ていませんでした。他のログはこれから調べます。
> > >>
> > >> 最新の環境であれば、fess_crawler.out が
> > >> どうなっているかがポイントになるかと思います。
> > > fess_crawler.outを調べたところ、添付ファイル(fess_crawler.
> > > outのログを一部抜粋、一部ファイルパスの修正有)のように
> > > OutOfMemory エラーが発生していたことがわかりました。
> > >
> > > 下記の設定は既にしているのですが、それでも発生するようです。
> > > http://fess.sourceforge.jp/ja/3.0/config/memory-config.html
> > >
> > > ちなみに、当方の環境・状況は以下のとおりです。
> > >
> > > ●環境
> > > ・WindowsXP SP3に搭載して試用・検証中
> > >  (CPU:Core 2 Duo 2GHz、メモリ:1.5GB)
> > > ・JDK 6 Update 21
> > > ・fess-server-3.1.1 or 4.0.0SNAPSHOT
> > >  (どちらでも発生するようです)
> > > ・メモリ関連設定:上記リンクと同じ設定
> > >
> > > ●クロール設定
> > > ・対象ドキュメント: ファイルサーバ上のファイル 約6万件
> > > ・同時実行のクロール設定数:1
> > > ・ドキュメント数毎にコミット:500
> > > ・スレッド数:3
> > > ・間隔:1000ミリ秒
> > >
> > > ●状況
> > > 約1万ドキュメントを処理したあたりで、メモリエラー発生
> > > ※エラー発生後は、延々とクロール処理のみが行われて、
> > >  SolrDBへの登録処理が行われない状態
> > > ※かなり高い確率(現時点100%)で現象が再発。
> > >
> > >
> > > 上記、メモリ関連設定の再チューニングなどで回避は可能なので
> > > し
> > > ょうか?
> > >
> > > 以上、よろしくお願いします。
> > >> ----Original Message----
> > >> Fri, 16 Jul 2010 06:33:00 +0900
> > >> From:     Shinsuke Sugaya <shins****@yahoo*****>
> > >> Reply-To: fess-****@lists*****
> > >> To:       fess-****@lists*****
> > >> Subject:  [fess-user 290] Re:インデックスの作成が停止しま
> > >> す
> > >>
> > >
> > >> 菅谷です。
> > >>
> > >> > ご質問があるのですが、クロールで集めた情報(H2DB)を、
> > >> > SolrDB
> > >> > へ
> > >> > 手動で登録する方法(機能など)はありませんでしょうか?
> > >>
> > >> 現状、ないです。クロールデータについては
> > >> パフォーマンスに大きな影響を与えるので
> > >> 消せるときに消す感じにしています。ただ
> > >> 今回のように例外的にクロールを抜けるような
> > >> 場合に残せるかどうかは検討してみます。
> > >>
> > >> > ※少なくとも、catalina.outにはエラーメッセージなどは出力
> > >> > さ
> > >> > れ
> > >> > ていませんでした。他のログはこれから調べます。
> > >>
> > >> 最新の環境であれば、fess_crawler.out が
> > >> どうなっているかがポイントになるかと思います。
> > >>
> > >> よろしくお願いいたします。
> > >>
> > >> shinsuke
> > >>
> > >>
> > >> 2010年7月16日1:17 Sugano <ganos****@gmail*****>:
> > >> > 初めまして、すがのと申します。
> > >> >
> > >> > ご質問があるのですが、クロールで集めた情報(H2DB)を、
> > >> > SolrDB
> > >> > へ
> > >> > 手動で登録する方法(機能など)はありませんでしょうか?
> > >> > (クロール実行中もしくはクロール停止時に手動実行)
> > >> >
> > >> > というのも、私のところでも桑田さんとほぼ同様の現象が発生
> > >> > し
> > >> > て
> > >> > おり、
> > >> >> クローラープロセスが実行中にも関わらず、ドキュメント数
> > >> >> が
> > >> >> 増
> > >> >> 加しなくなります。
> > >> >> システム設定画面で何度が停止->実行を繰り返しましたが状
> > >> >> 況
> > >> >> が
> > >> >> 変わりません。
> > >> >
> > >> > 具体的には、以下2つの現象のいずれかが発生することが多く、
> > >> >
> > >> > 事象1.クローラプロセスが稼働中にもかかわらず、クローラ
> > >> > 側
> > >> > DB
> > >> > (\webapp\fess\WEB-INF\db)やSolrDBへの登録が行われない。
> > >> >
> > >> > 事象2.クローラ側DB(\webapp\fess\WEB-INF\db)への登録は
> > >> > さ
> > >> > れ
> > >> > 続けるが、SolrDBへの登録が行われなず、クローラ側DBのみが
> > >> > 増
> > >> > え
> > >> > 続ける。
> > >> >
> > >> > 上記の現象発生後に、クローラで収集したSolrDBへの未登録情
> > >> > 報
> > >> > を
> > >> > 破棄するのはもったいないので、収集した情報をSolrDBへ手動
> > >> > 登
> > >> > 録
> > >> > する手段を知りたいと考えております。
> > >> > (クロールを再度起動すると、前回収集した情報がすべて消え
> > >> > て
> > >> > し
> > >> > まい、事象2で数万件分の情報が溜まっていたとしても全てク
> > >> > リ
> > >> > ア
> > >> > されてしまうため、クリアされずにDB登録する方法が知りたい
> > >> > で
> > >> > す。)
> > >> >
> > >> > ちなみに、本現象の原因については、下記を参考にして現在調
> > >> > 査
> > >> > 中
> > >> > ですが、現時点では原因は特定できていません。
> > >> >> おそらく crawler.out か catalina.out などに出力されて
> > >> >> いるかと思います。以下を参照してみてください。
> > >> >>
> > >> >> http://fess.sourceforge.jp/ja/3.0/config/logging.html
> > >> >>
> > >> > ※少なくとも、catalina.outにはエラーメッセージなどは出力
> > >> > さ
> > >> > れ
> > >> > ていませんでした。他のログはこれから調べます。
> > >> > ※ファイルパスの長さが260字以上(WindowsのMAX_PATH値以上)
> > >> > の
> > >> > デ
> > >> > ィレクトリ・ファイルもあるため、それが原因の一つの可能性
> > >> > も
> > >> > 有
> > >> > り?
> > >> > ※上記、もう少し調べてわからないようであれば、再度詳細な
> > >> > 情
> > >> > 報
> > >> > をお知らせします。
> > >> >
> > >> > 以上、よろしくお願い致します。
> > >> >
> > >> >> 菅谷です。
> > >> >>
> > >> >> おそらく crawler.out か catalina.out などに出力されて
> > >> >> いるかと思います。以下を参照してみてください。
> > >> >>
> > >> >> http://fess.sourceforge.jp/ja/3.0/config/logging.html
> > >> >>
> > >> >> よろしくお願いいたします。
> > >> >>
> > >> >> shinsuke
> > >> >>
> > >> >>
> > >> >> 2010年7月14日16:53 Tetsutomo Kuwata <fj.kuwata @ gmail.
> > >> >> com>:
> > >> >> 初めまして、桑田と申します。
> > >> >>
> > >> >> この度始めてFessを導入しインデックス作成を実行している
> > >> >> と
> > >> >> こ
> > >> >> ろなのですが
> > >> >> クローラープロセスが実行中にも関わらず、ドキュメント数
> > >> >> が
> > >> >> 増
> > >> >> 加しなくなります。
> > >> >> システム設定画面で何度が停止->実行を繰り返しましたが状
> > >> >> 況
> > >> >> が
> > >> >> 変わりません。
> > >> >> どの辺を調べれば原因がわかりますでしょうか。
> > >> >>
> > >> >> 環境
> > >> >> Windows Server 2003 R2
> > >> >> JDK 6 Update 20
> > >> >> fess-server-3.1.1(サービスとして登録)
> > >> >>
> > >> >> 対象ドキュメント: ファイルシステム 23万件
> > >> >> 現在のドキュメント数: 4万件
> > >> >>
> > >> >>
> > >> >> 以上、よろしくお願い致します。
> > >> >>
> > >> >> _______________________________________________
> > >> >> Fess-user mailing list
> > >> >> Fess-****@lists*****
> > >> >> http://lists.sourceforge.jp/mailman/listinfo/fess-user
> > >> >>
> > >> >
> > >> > _______________________________________________
> > >> > Fess-user mailing list
> > >> > Fess-****@lists*****
> > >> > http://lists.sourceforge.jp/mailman/listinfo/fess-user
> > >> >
> > >>
> > >> _______________________________________________
> > >> Fess-user mailing list
> > >> Fess-****@lists*****
> > >> http://lists.sourceforge.jp/mailman/listinfo/fess-user
> > >
> > >
> > > _______________________________________________
> > > Fess-user mailing list
> > > Fess-****@lists*****
> > > http://lists.sourceforge.jp/mailman/listinfo/fess-user
> > >
> > >
> > 
> > _______________________________________________
> > Fess-user mailing list
> > Fess-****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/fess-user




Fess-user メーリングリストの案内
Back to archive index