Kouhei Sutou
kou****@clear*****
2013年 12月 6日 (金) 18:14:22 JST
須藤です。 Mroongaを使っているみなさんにとってみればだいぶ衝撃的な事実 だと思うのですが、実は、去年の4/29にリリースしたMroonga 2.02 から1ヶ月ちょい前の10/29にリリースしたMroonga 3.09まで、 全文検索をする(MATCH AGAINSTを使う)たびに336バイトずつメモ リリークするバグがありました。。。 先月リリースした3.10ではこの問題が(意図せず)修正されていま す。が、意図せずに修正したものなので、以前に修正した問題が再 発するようになっているかもしれません。で、お願いなのですが、 だれか「シンタックスエラーになるMATCH AGAINSTを同時にたくさ ん実行してもクラッシュしないか」テストしてもらえないでしょう か? 以下、詳細です。 メモリリークの原因となったコミットはこれで、私が入れたやつな んですが(すみません。。。)、コミットメッセージにはクラッシュ するバグを直すためと書いています。 https://github.com/mroonga/mroonga/commit/c753bda2f43827815b8af0dcdef41560232cc3a3 # ちなみに、 # https://github.com/mroonga/mroonga/commit/c753bda2f43827815b8af0dcdef41560232cc3a3#diff-ba714ec217aa6836e39b3aea9da57ae2R1446 # のgrn_ctx_fin()をgrn_ctx_close()にするとメモリリークが直り # ます。 3.10では、イメージ的には↑のコミットの一部を元に戻す変更が入っ ています。(これで意図せずメモリリークが直っています。) https://github.com/mroonga/mroonga/commit/fa0999ff79c9cb080d20ca21fd45697d52a340b4 もしかしたら、これにより1年半前のコミットで直そうとしたやつ が再発しているかもしれません。が、テストケースがないので確認 できていません。 コミットメッセージを読むと、シンタックスエラーになるMATCH AGAINSTを同時に複数のクライアントから投げると問題が発生しそ うにも感じます。 ということで、「シンタックスエラーになるMATCH AGAINSTを同時に たくさん実行してもクラッシュしないか」テストして欲しいのです。 Mroonga 3.10をリリースしてから一週間経っていますが、クラッシュ するようになったという声はみかけていないので、普通に使ってい るぶんには大丈夫なんじゃないかとは思うのですが。。。 もし、3.10で大丈夫そうなら、2.02から3.09を使っている人にはアッ プデートをオススメしようと思っています。(メモリリークしてい るので。) ご協力よろしくお願いします! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) Groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html