Kouhei Sutou
kou****@clear*****
2013年 12月 20日 (金) 13:31:13 JST
須藤です。 In <CAHB5****@mail*****> "[groonga-dev,02017] grn_io_lockのタイムアウト値がハードコードされている件について" on Fri, 20 Dec 2013 12:38:05 +0900, "yoku ts." <yoku0****@gmail*****> wrote: > この前、ラッパーモードで使っているmrnファイルに(mysqldがオンラインのまま)ロックが突き刺さりました。 > それ自体は再現性もないのでしょうがないんですが、その時のMySQLの挙動として、 > > ・UPDATEクエリーが全てどんづまる(FTインデックスに触らないUPDATEも) ラップしているテーブルのプライマリーキーが更新されたら Mroonga内部で持っているプライマリーキーを更新する、みたいなこ とをやっているのでGroongaのテーブルに触るんですよ。 > ・CPU使用率が跳ね上がり、max_connectionsに到達、参照系にも影響 > ・そのままOOM Killerに主人を殺される > > という悲しい結末になりました :( すみません。。。 > grn_io_lockのタイムアウト値を短くしてやることで最悪の事態 > (参照系まで影響が出る && mysqldのクラッシュ)は > 回避できるかと思っているので短くしたいのですが、 > Redmineにも上がっている通りこの値はハードコードです。 > > http://redmine.groonga.org/issues/109 > > > このままの状態だとバージョンアップのたびに手を入れる箇所が増えるので、 > 定数でまとめてしまいたいのですがどうでしょうか? > (APIまで作る力量はありませんでした。。) > > https://github.com/yoku0825/groonga/compare/grn_io_lock_timeout > > 良さそうであればPull-requestを投げるか、大したパッチではないので、 > 開発チーム側でご対応いただければ幸いです(インデントや定数の名前とかの問題もありますし > > ご一考くださいm(_"_)m 一考するので少々お待ちください! -- 須藤 功平 <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