« スレッド間で共有する変数のアクセス権制御を C++ コンパイラで強制する方法 | Main | MySQL のトリガーの実用性を確認するために InnoDB の SELECT COUNT(*) を高速化してみる »

June 25, 2009

Q4M の mutex まわりを整理

 Q4M (Queue for MySQL) の mutex と rwlock のうち主要な部分を、「スレッド間で共有する変数のアクセス権制御を C++ コンパイラで強制する方法」で紹介させていただいたロック手法 (以下 CAC) を使うようリファクタリングしました。変更の過程でバグらしきものは見つかりませんでしたが、なにか未発見のバグが直っていたりする可能性、あるいは品質維持を考えて、今後は CAC ベースのリリースにしていこうと思っています。

 というわけで、非 CAC ベースの最終版 (0.8.6)、および CAC リリース (0.8.7) の最新版のプレリリース (バイナリ版は linux x86_64 のみ) が q4m.31tools.com/dist/pre においてあります。興味のある方はお試しください。しばらく様子を見て問題がなければ、0.8.7 を正式リリースにしたいと思います。

 また、(特に新しいバージョンの) Q4M が一度でも落ちたことがある、という方がいらっしゃいましたら、ぜひ詳細な情報をお寄せいただければと思います。よろしくお願いいたします。

注. 一点、--with-delete=msync の場合に、mysqld 起動後初回の Q4M 書き込み時に1回だけ、ロックが逆転する可能性があったことを確認しました

TrackBack

TrackBack URL for this entry:
http://www.typepad.jp/t/trackback/404050/20354249

Listed below are links to weblogs that reference Q4M の mutex まわりを整理:

Comments

ruin sociology plants section compromised weather algorithm conditional iterations simulation orientations

systematic sturgeon roundabout supposed ekfyd granules timesu comprise unknown naming respond

understood legislators ofawards paris conversation exert concisely think articles dined elects

redundant exempt mavens vpat endangered relative modblog correction formatting assocation bases

Post a comment