Kouhei Sutou
kou****@clear*****
2017年 9月 11日 (月) 16:20:48 JST
須藤です。 In <14E79****@ikaik*****> "[groonga-dev,04471] Re: loop is found エラー" on Mon, 11 Sep 2017 15:35:18 +0900, 野澤 通弘 <michihiro_nozaw****@ikaik*****> wrote: > ご指摘いただいた通り、WindowsPCの電源を切ると今のところ100%現象が再現することがわかりました。 > PC再起動時に、エラーが発生していたらREINDEXを行うことで本件に対応したことをご報告します。 報告ありがとうございます。 他のユーザーにも有用な情報だと思います。 > 具体的には以下の対策を行っています。 > > 1.postgresql.confに shared_preload_libraries = ‘pgroonga_check’ を設定 > > 2.TOMCAT起動時(PostgreSQLサービス起動後)pgroongaのインデックスをはったテーブルに行を追加または更新 > > 3.「2」処理で、"pgroonga: object isn't found” 例外エラーが発生するかチェック > > 4.例外エラーが発生した場合に、REINDEXを実行 > > 以上です。 > > 「1」の設定を行うことで、"loop is found" または "check_jump failed" の例外エラーは “object isn’t found”エラーとなるようでした。 はい、それは期待した挙動です。 pgroonga_checkは可能なら自動で復旧しますが、ムリなら関連ファ イルを削除し、REINDEXできる状態まで自動で復旧します。関連ファ イルを消すと"object isn't found"というエラーになります。 -- 須藤 功平 <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