Sugano
ganos****@gmail*****
2010年 7月 17日 (土) 11:21:41 JST
お世話になってます。 すがのです。 > > ご質問があるのですが、クロールで集めた情報(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 -------------- next part -------------- 2010-07-16 16:22:43,270 [IndexUpdater] ERROR jp.sf.fess.solr.IndexUpdater - IndexUpdater is terminated. java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2882) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:515) at java.lang.StringBuilder.append(StringBuilder.java:189) at java.io.ObjectInputStream$BlockDataInputStream.readUTFSpan(ObjectInputStream.java:3099) at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(ObjectInputStream.java:3007) at java.io.ObjectInputStream$BlockDataInputStream.readLongUTF(ObjectInputStream.java:2990) at java.io.ObjectInputStream.readString(ObjectInputStream.java:1603) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1320) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at java.util.HashMap.readObject(HashMap.java:1030) at sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.seasar.framework.util.SerializeUtil.fromBinaryToObject(SerializeUtil.java:92) at jp.sf.fess.transformer.AbstractFessFileTransformer.getData(AbstractFessFileTransformer.java:380) at jp.sf.fess.solr.IndexUpdater.processAccessResults(IndexUpdater.java:300) at jp.sf.fess.solr.IndexUpdater.run(IndexUpdater.java:189) 2010-07-16 16:22:43,270 [IndexUpdater] INFO jp.sf.fess.solr.IndexUpdater - [EXEC TIME] index update time: 1041054ms 2010-07-16 16:23:21,801 [Robot-20100716135749-1-1] ERROR org.seasar.robot.helper.impl.LogHelperImpl - Crawling Exception at file:////hogehoge/hoge1.xlsx java.lang.OutOfMemoryError: Java heap space at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseCdataLiteral(PiccoloLexer.java:3027) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseQuotedTagValue(PiccoloLexer.java:2936) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1754) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1521) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXMLNS(PiccoloLexer.java:1293) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseXML(PiccoloLexer.java:1261) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4808) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714) at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257) at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) at org.openxmlformats.schemas.spreadsheetml.x2006.main.WorksheetDocument$Factory.parse(Unknown Source) at org.apache.poi.xssf.usermodel.XSSFSheet.read(XSSFSheet.java:127) at org.apache.poi.xssf.usermodel.XSSFSheet.onDocumentRead(XSSFSheet.java:119) at org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead(XSSFWorkbook.java:222) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:200) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:172) at org.apache.poi.xssf.extractor.XSSFExcelExtractor.<init>(XSSFExcelExtractor.java:49) at org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:104) at org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:86) at org.apache.tika.parser.microsoft.ooxml.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:53) at org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:69) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:132) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:99) at org.seasar.robot.extractor.impl.TikaExtractor.getText(TikaExtractor.java:105) at jp.sf.fess.transformer.AbstractFessFileTransformer.transform(AbstractFessFileTransformer.java:95) at org.seasar.robot.processor.impl.DefaultResponseProcessor.process(DefaultResponseProcessor.java:64) at org.seasar.robot.S2RobotThread.processResponse(S2RobotThread.java:294) 2010-07-16 16:23:21,801 [Robot-20100716135749-1-2] ERROR org.seasar.robot.helper.impl.LogHelperImpl - Crawling Exception at file:////hogehogehoge/hoge2.xlsx java.lang.OutOfMemoryError: Java heap space at org.apache.xmlbeans.impl.store.Cur.createElementXobj(Cur.java:257) at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.startElement(Cur.java:2992) at org.apache.xmlbeans.impl.store.Locale$SaxHandler.startElement(Locale.java:3198) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.reportStartTag(Piccolo.java:1082) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1473) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362) at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4678) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400) at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714) at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257) at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) at org.openxmlformats.schemas.spreadsheetml.x2006.main.WorksheetDocument$Factory.parse(Unknown Source) at org.apache.poi.xssf.usermodel.XSSFSheet.read(XSSFSheet.java:127) at org.apache.poi.xssf.usermodel.XSSFSheet.onDocumentRead(XSSFSheet.java:119) at org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead(XSSFWorkbook.java:222) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:200) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:172) at org.apache.poi.xssf.extractor.XSSFExcelExtractor.<init>(XSSFExcelExtractor.java:49) at org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:104) at org.apache.poi.extractor.ExtractorFactory.createExtractor(ExtractorFactory.java:86) at org.apache.tika.parser.microsoft.ooxml.OOXMLExtractorFactory.parse(OOXMLExtractorFactory.java:53) at org.apache.tika.parser.microsoft.ooxml.OOXMLParser.parse(OOXMLParser.java:69) at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:132) at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:99) at org.seasar.robot.extractor.impl.TikaExtractor.getText(TikaExtractor.java:105) at jp.sf.fess.transformer.AbstractFessFileTransformer.transform(AbstractFessFileTransformer.java:95) at org.seasar.robot.processor.impl.DefaultResponseProcessor.process(DefaultResponseProcessor.java:64) at org.seasar.robot.S2RobotThread.processResponse(S2RobotThread.java:294) at org.seasar.robot.S2RobotThread.run(S2RobotThread.java:180)