[groonga-dev,01400] mysqldがクラッシュした後のmrnファイルのロックについて

Back to archive index

Naoya Murakami visio****@gmail*****
2013年 5月 19日 (日) 03:52:00 JST


お世話になっております。村上と申します。

mroonga3.03をmyisamのラッパーモードで利用しています。

updateを並列させすぎたせいか、mmap failed!!!! in GRN_IO_SEG_REF(0x7fcbe44d19b0,
618)というメッセージでmysqldがクラッシュし、再起動することがよくあります。
(関係あるかわかりませんが、spider2.28からspider3.00にしてからupdateの並列数が少なくても、発生しやすくなったような気がします。)

その後、groonga.logを参照すると、
io(xxxx.mrn.000010A) collisions(1000/598903): lock failed 1000 times
となっており、クラッシュした際にアップデートしていたテーブルの
インデックスがロックされて、以後、更新できなくなります。

このように、インデックスがロックされた場合、該当のテーブルをdisable keys 後、
enable keysすることにより、インデックスを再構築しなおすことにより、対応しています。

5月頭よりずっとインデックス構築しておりますが、途中で、mysqldがクラッシュし、
インデックスがロックされることが多くて、やり直しが多数発生してなかなか大変です。
インデックスの再構築に、1日超かかるテーブルが多いです。。
***.mrn.001がロックされ、データベースごとインデックス構築やり直したことも
あります。

Q.インデックスがロックされた場合、インデックスの再構築以外にロックを
解除させる方法はないでしょうか?

以上、よろしくお願いします。



groonga-dev メーリングリストの案内
Back to archive index