Kouhei Sutou
kou****@clear*****
2017年 4月 27日 (木) 11:37:51 JST
須藤です。 In <71228****@web10*****> "[groonga-dev,04355] pgroongaのログ出力内容について" on Fri, 21 Apr 2017 19:18:27 +0900 (JST), tak_kaz24****@yahoo***** wrote: > ■事象1:system call error: Permission denied: failed to remove pathが発生する > 毎回ではないですが以下のようなメッセージが出力される場合があります。 > 内容からファイル削除時に権限不足で削除できなかったようですが、PostgreSQL管理ユーザで実行しているので権限に不足はない想定です。 > > 2017-04-20 19:50:22.312000|e|2236: system call error: Permission denied: failed to remove path: <base/18911/pgrn.000010B> > > このメッセージが出た後PostgreSQLが応答しなくなることが多いので、原因と対処方法を教えていただけないでしょうか。 > ※「C:\Program Files」にデータフォルダがあるのが良くない? このときに何をしていたかわかりますか? あと、REINDEXはしたことがありますか?REINDEXをしたことがある ならautovacuumが走っていたかも確認してみてください。どうやっ て確認するのがいいんですかねぇ。ログで確認できたかしら。 あと、ウィルスチェックソフトみたいなソフトウェアはインストー ルされていますか?もし、インストールされていた場合、 PostgreSQLのデータフォルダーはチェック対象から外していますか? 外していない場合、ウィルスチェックソフトが該当ファイルを開い ていてPGroongaが削除できなかったという可能性があります。 (Windowsでは別のプロセスがファイルを開いているとファイルを 削除できない。) > ■事象2:too many postingsが発生する > 一定のファイル数ごとにCOPYコマンドでPostgreSQLに登録しているのですが、以下のようなメッセージが出力されます。 > 内容から特定のトークン(この場合<->)のpostings?が多すぎて超過した分は捨てられる想定です。 > 超過した分はpgroongaのインデックスが作成されず検索にヒットしない想定です。 はい、そうなります。 > 2017-04-20 19:50:24.562000|w|2880: [ii][update][one] too many postings: <Lexicon72052_0.index>: n-postings:<504736>, n-discarded-postings:<373665>, term:<123>(<->) > > 検索にヒットしないと困るため可能な限り上記メッセージを減らしたいのですが、対処方法はありますでしょうか? これはウォーニングレベルのログなので、pgroonga.log_levelを errorとかにすると出力されなくなります。 https://pgroonga.github.io/reference/parameters/log-level.html ただ、これ以外のウォーニングメッセージも出力されなくなるので 注意してください。 > COPYコマンドに送る一回当たりのデータ量を減らしてみましたが、以下のようなメッセージが出力されPostgreSQLが応答しなくなりました。 > > 2017-04-21 16:37:40.593000|A|2972: calloc fail (4194304)=0000000000000000 (C:\Users\kou\work\pgroonga\tmp\build\pgroonga-1.1.9\vendor\groonga\lib\io.c:1497) <113> > 2017-04-21 16:37:40.609000|C|2972: mmap failed!!!! in GRN_IO_SEG_REF(0000000000CB3CB0, 0): このコマンドを実行するのに十分な記憶域がありません。 メッセージの通りメモリーが足りません。 物理メモリーを追加するか仮想メモリーを追加してください。 仮想メモリーの追加の仕方は。。。何回かこのメーリングリストで もでてきているんですが、すぐに見つけられないですね。。。 VMで動かしているということなので物理メモリーを追加するのが簡 単かもしれません。 > ■事象3:ignore too long tokenが発生する > 以下のメッセージは4096バイト以上のトークンは無視され、pgroongaのインデックスが作成されず検索にヒットしないという認識で合っていますでしょうか。 > > 2017-04-20 14:05:30.312000|w|3360: [token_next] ignore too long token. Token must be less than or equal to 4096: <167374>(<20141〜後略 はい、あっています。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ OSS開発支援サービス: http://www.clear-code.com/blog/2016/6/27.html