Kouhei Sutou
kou****@clear*****
2014年 1月 7日 (火) 14:30:09 JST
須藤です。 In <CAHB5****@mail*****> "[groonga-dev,02034] Re: grn_io_lockのタイムアウト値がハードコードされている件について" on Mon, 6 Jan 2014 12:30:43 +0900, "yoku ts." <yoku0****@gmail*****> wrote: >> よいと思うので、定数で一気に変更できるようにしました。 >> 定数はconfigureなら--with-lock-timeout、CMakeな >> ら-DGRN_LOCK_TIMEOUTで変更できるようにしてあります。 > > やった! ありがとうございます! :) > これでオレオレパッチの呪縛から逃れられます :) さらに! SET GLOBAL mroonga_lock_timeout = 1000; とかでMroongaから直接動的に変更できるようにしておきました! この値に関するドキュメントはまだアップロードされていないんで すが、こんな感じになります。 * 正の値: その数だけロックを獲得できるまでリトライする。 100なら100回リトライする。 各リトライの間は1ミリ秒sleepする。 * 0: リトライしない。1回ロック獲得に失敗したらロック失敗。 * -1: ロックを獲得できるまでずっとリトライする。 なお、負の値を設定した時の SET GLOBAL mroonga_lock_timeout はオーバーフローした値になります。-1なら4294967295になります。 MySQLのソースをみたんですけど、こういう仕様っぽいのでそのま まにしてあります。うーん、とは思いますけど。。。 -- 須藤 功平 <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