Masayuki Shibata
mshib****@shima*****
2011年 3月 10日 (木) 09:35:10 JST
柴田@亀岡市です。 クロール先の問題ということで調査しましたところ、巡回先のサーバーが 1つ閉鎖していまして、そこへのインデックスになっているページからの リンクがことごとく「閉鎖しました」のページに飛ばされていました。 つまりリンクして飛ぼうとした先とは違う URL のページが戻ってきており、 それが大量にありました。 そのサイトへの巡回を止めたところ正常にはなりましたが、サイト閉鎖な どはイレギュラーというより、実社会で今後も起こりそうな話ですので、そ こでエラーになりそこから先のインデックス更新が止まるというのは今後 も発生しそうに思いました。 止まらずにそのまま進めるか、セッション情報の CrawlerStatus = F に なった時点で、管理者にメールが飛ぶなどの機能があるとよいかと思い ますが、後者はトラッカーのチケット #22504 にすでに要望が上がってい るようですので、それはそれでお待ちするとして... fess_crawler.out が、こちらで出力されていない原因って、何かおわかり になりませんでしょうか? 止まったこと自体はメールで通知されたとしても、その原因究明がかな り難しくて、今回のものもほとんど偶然にわかったような次第です。 fess_crawler.out があったからと言って、こちらにその解読ができる力が あるわけでもないのですが、それがライブラリのバグのようなものなら、 わからないのも仕方ないとしても、サイト閉鎖くらいは掴める勘所は押さ えておかないと辛そうですので。 ----- Original Message ----- From: "Shinsuke Sugaya" <shins****@yahoo*****> To: <fess-****@lists*****> Sent: Wednesday, March 09, 2011 8:51 AM Subject: [fess-user 426] Re:エラーでクロールが停止。何かお気づきの点あれば... > 菅谷です。 > > 情報をありがとうございます。 > >> 2011-03-02 20:53:51,390 [IndexUpdater] INFO jp.sf.fess.solr.IndexUpdater - >> The >> number of a crawled document is 0. The processing size is 0. The execution >> time >> is 15ms. > > これはSolrへドキュメントを送るスレッドになりますが、 > これが送信待ちのドキュメントを取りに行き、上限に > 達するまで試したが空なので終了したと思われます。 > これが起こりそうな原因としては、クロールして、 > 返ってこないで待ちになるようなスレッドがいると > 起こる場合があると思います。Java自体のバグ(?)で > zipがIO待ち状態になるような現象は以前に観測した > ことがあります(まれな問題な気もしますが)。この手のは > Fessレベルではどうしようもないので、そのようなファイルは > クロール対象から除外する必要があります。現状では > デバッグログなどにして、返ってこないクロールを > 見つけるしかないと思います(または1スレッドだけの > クロールにして止まったものが犯人かもしれませんが)。 > > shinsuke > > > > > 2011年3月7日19:32 Masayuki Shibata <mshib****@shima*****>: >> 柴田@亀岡市です。 >> >> お返事遅くなりました。故あってメーラーを換えたのですが、少し思い通りにな >> らなくて、振り分けたメールがしばらく行方不明でした。 >> >>> fess.dicon の systemHelper に以下が >>> あるでしょうか? >> >> ありますが、ログがどこにあるかがわかりません。 >> >> いただいたメールが行方不明中にこちらでゴソゴソやっておりました。 >> >> ・fess サービス再起動しても状況変わりません。 >> ・大体 1400 くらいインデックス作ったあたりで終わります。 >> ・ご報告したログの少し前に以下のような特徴的なログが必ず出ています。 >> >> 2011-03-02 20:53:51,390 [IndexUpdater] INFO jp.sf.fess.solr.IndexUpdater - >> The >> number of a crawled document is 0. The processing size is 0. The execution >> time >> is 15ms. >> 2011-03-02 20:54:51,375 [IndexUpdater] INFO jp.sf.fess.solr.IndexUpdater - >> The >> number of a crawled document is 0. The processing size is 0. The execution >> time >> is 0ms. >> 2011-03-02 20:55:51,375 [IndexUpdater] INFO jp.sf.fess.solr.IndexUpdater - >> The >> number of a crawled document is 0. The processing size is 0. The execution >> time >> is 0ms. >> >> 1分間隔で、execution time が 0ms. か 15ms. (2:1 くらいの割合で出現) 。 >> >> この状態が1時間ばかり続いて、最終的に >> >> 2011-03-02 20:56:51,375 [IndexUpdater] INFO jp.sf.fess.solr.IndexUpdater - >> Terminating indexUpdater. emptyListCount is over 60. >> >> ...を出して終了処理 (index update time や crawling time の記録) に入って >> います。 >> >> >> ----- Original Message ----- >> From: "Shinsuke Sugaya" <shins****@yahoo*****> >> To: <fess-****@lists*****> >> Sent: Thursday, March 03, 2011 10:41 PM >> Subject: [fess-user 424] Re:エラーでクロールが停止。何かお気づきの点あれば... >> >> >>> 菅谷です。 >>> >>> デフォルトでは出ていると思いますが、 >>> fess.dicon の systemHelper に以下が >>> あるでしょうか? >>> >>> <property >>> name="logFilePath">@System @ getProperty("fess.log.file").replaceAll(".out", >>> "_crawler.out")</property> >>> >>> shinsuke >>> >>> 2011年3月3日11:48 Masayuki Shibata <mshib****@shima*****>: >>>> 柴田@亀岡市です。 >>>> >>>> fess_crawler.out が見あたらないのですが、どこかの設定を変えると出力 >>>> されるとかでしょうか? >>>> >>>> ----- Original Message ----- >>>> From: "Shinsuke Sugaya" <shins****@yahoo*****> >>>> To: <fess-****@lists*****> >>>> Sent: Thursday, March 03, 2011 10:59 AM >>>> Subject: [fess-user 421] Re:エラーでクロールが停止。何かお気づきの点あれば... >>>> >>>> >>>>> 菅谷です。 >>>>> >>>>> そのログからすると、ウェブアクセスのコネクションプールが >>>>> 終了してしまっているため、停止していると思われます。 >>>>> クロールに関するログは fess_crawler.out の方になるので >>>>> そこに Exception はないでしょうか? >>>>> >>>>>> WARN jp.sf.fess.helper.RobotLogHelper - Failed to store a failure url. >>>>> >>>>> 上記が起きる一番初めの時間帯付近の Exception が >>>>> どのようになっているかが気になります。 >>>>> >>>>> よろしくお願いいたします。 >>>>> >>>>> shinsuke >>>>> >>>>> >>>>> 2011年3月3日10:17 Masayuki Shibata <mshib****@shima*****>: >>>>>> 柴田@亀岡市です。 >>>>>> >>>>>> 現在 Fess 4.0.0 on Windows Server 2003 です。 >>>>>> >>>>>> しばらく問題なく動いていたのですが、ここ何回かエラーが出てクロールが >>>>>> 途中停止するようになっていました。 >>>>>> >>>>>> 19:30 クロール開始で、毎度 21:00 の1〜2分前に止まっていますので、 >>>>>> こちらの環境で何かそのあたりにあるのかも知れないのですが、犯人がわ >>>>>> からずにおります。 >>>>>> >>>>>> 以下のような fess.out ログを吐いて止まっているのですが、何かお気づき >>>>>> の点ありましたらご教示いただけるとありがたいです。 >>>>>> >>>>>> WARN jp.sf.fess.helper.RobotLogHelper - Failed to store a failure url. >>>>>> ...と >>>>>> ERROR org.seasar.robot.helper.impl.LogHelperImpl - Crawling Exception at >>>>>> http://............... >>>>>> ...の組み合わせで何回かワーニング+エラーを繰り返した後、最後に >>>>>> 止まっています。 >>>>>> >>>>>> 同じファイルのところで止まっているというわけでもないようです。 >>>>>> >>>>>> >>>>>> 2011-02-26 20:58:20,718 [Robot-20110226193003-7-1] WARN >>>>>> jp.sf.fess.helper.RobotLogHelper - Failed to store a failure url. >>>>>> java.lang.NullPointerException >>>>>> at >>>>>> org.seasar.framework.container.impl.ComponentDefImpl.getComponentDeployer(ComponentDefImpl.java:328) >>>>>> at >>>>>> org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:111) >>>>>> at >>>>>> org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:129) >>>>>> at >>>>>> org.seasar.framework.container.SingletonS2Container.getComponent(SingletonS2Container.java:43) >>>>>> at >>>>>> jp.sf.fess.helper.RobotLogHelper.getCrawlingConfig(RobotLogHelper.java:134) >>>>>> at >>>>>> jp.sf.fess.helper.RobotLogHelper.storeFailureUrl(RobotLogHelper.java:88) >>>>>> at jp.sf.fess.helper.RobotLogHelper.log(RobotLogHelper.java:69) >>>>>> at org.seasar.robot.S2RobotThread.log(S2RobotThread.java:107) >>>>>> at org.seasar.robot.S2RobotThread.run(S2RobotThread.java:229) >>>>>> at java.lang.Thread.run(Thread.java:619) >>>>>> 2011-02-26 20:58:20,718 [Robot-20110226193003-7-1] ERROR >>>>>> org.seasar.robot.helper.impl.LogHelperImpl - Crawling Exception at >>>>>> http://............... >>>>>> org.seasar.robot.RobotSystemException: Failed to access >>>>>> http://............... >>>>>> at >>>>>> org.seasar.robot.client.http.HcHttpClient.doHttpMethod(HcHttpClient.java:679) >>>>>> at >>>>>> org.seasar.robot.client.http.HcHttpClient.doGet(HcHttpClient.java:450) >>>>>> at org.seasar.robot.S2RobotThread.run(S2RobotThread.java:167) >>>>>> at java.lang.Thread.run(Thread.java:619) >>>>>> Caused by: java.lang.IllegalStateException: Connection pool shut down. >>>>>> at >>>>>> org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoolByRoute.java:300) >>>>>> at >>>>>> org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntry(ConnPoolByRoute.java:254) >>>>>> at >>>>>> org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1.getConnection(ThreadSafeClientConnManager.java:203) >>>>>> at >>>>>> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:392) >>>>>> at >>>>>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:694) >>>>>> at >>>>>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:625) >>>>>> at >>>>>> org.seasar.robot.client.http.HcHttpClient.doHttpMethod(HcHttpClient.java:510) >>>>>> ... 3 more >>>>>> 2011-02-26 20:58:26,015 [chronos-pool-3-thread-5] INFO >>>>>> jp.sf.fess.helper.SystemHelper - Crawler: Exit Code=0 - Crawler Process >>>>>> Output: >>>>>> Processed: C:\fess-server\webapps\fess\WEB-INF\db\robot.h2.db >>>>>> Processed: C:\fess-server\webapps\fess\WEB-INF\db\robot.lobs.db\1.lobs.db >>>>>> Processed: C:\fess-server\webapps\fess\WEB-INF\db\robot.lobs.db\2.lobs.db >>>>>> Processed: C:\fess-server\webapps\fess\WEB-INF\db\robot.lobs.db >>>>>> >>>>>> 2011-02-26 20:58:26,015 [chronos-pool-3-thread-5] WARN >>>>>> jp.sf.fess.helper.SystemHelper - Could not delete a temp dir: >>>>>> C:\fess-server\temp\fessTmpDir_20110226193003 >>>>>> >>>>>> _______________________________________________ >>>>>> 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 mailing list > Fess-****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/fess-user >