Kouhei Sutou
kou****@clear*****
2015年 8月 31日 (月) 18:15:54 JST
須藤です。 今日は野菜の日ですね! Mroonga 5.06をリリースしました! http://mroonga.org/ja/blog/2015/08/31/release.html 変更点は少ないのですが、次のいずれかに該当する方はアップグレー ドを推奨します。 * Mroonga 5.04または5.05を使っている * マルチカラムインデックスを使っている それぞれ理由を説明します。 ### Mroonga 5.04または5.05を使っている Mroonga 5.04、5.05にはシャットダウン時にクラッシュするバグが ありました。このバグはこのバージョンで修正しました。 シャットダウン時に常にクラッシュするわけではなく、次の条件を 満たした時にクラッシュします。 * Mroongaのテーブルを1つ以上開いている そのため、次のように`FLUSH TABLES`を実行してすべてのテーブル を閉じてからシャットダウンをするとクラッシュしません。 ```sql FLUSH TABLES; ``` なお、Mroongaアンインストール時もMySQLシャットダウン時と同様 にクラッシュします。そのため、アップグレード時は次の手順を使っ てください。 1. `FLUSH TABLES;`を実行 2. Mroongaをアップグレード ### マルチカラムインデックスを使っている これはMroongaの問題ではなくGroongaの問題なのですが、次のいず れかのときにインデックスが壊れる可能性がありました。 * すでにデータが入ったテーブルに対して`ALTER TABLE ADD INDEX`でマルチカラムインデックスを追加したとき(`ALTER TABLE ADD FULLTEXT INDEX`でも同様) * マルチカラムインデックスを`ALTER TABLE ENABLE KEYS`した とき * マルチカラムインデックスがあるテーブルを mysqldump→restoreしたとき インデックスが壊れると、誤ヒット(ヒットすべきではないレコー ドがヒットする)と検索漏れ(ヒットするべきレコードがヒットし ない)が発生する可能性があります。 この問題は常に発生するわけではなく、レコード数・データ量が多 いほど発生する可能性が高くなります。そのため、マルチカラムイ ンデックスを使っている方にはアップグレードを推奨します。 繰り返しますが、これはMroongaではなくGroongaの問題です。その ため、厳密にはGroongaをアップグレードするだけでよいです。し かし、多くのMroongaユーザーはGroongaを意識せずに使っているは ずなので、ここではパッケージを使ってMroongaをインストールし ている人向けに、Mroongaのアップグレード方法を紹介します。 MroongaをアップグレードするとGroongaも一緒にアップグレードさ れます。もちろん、ソースからビルドしている方や細かいことがわ かっている方は、Groongaだけアップグレードしても問題ありませ ん。 この問題用のMroongaのアップグレード方法は次の通りです。MySQL を再起動する必要があることに注意してください。 1. Mroongaをアップグレードする 2. MySQLを再起動する(必須!) MroongaがMySQLにロードされると、Groongaも一緒にロードされま す。Mroongaはアップグレード毎に動的に再ロードできるのですが、 Groongaは一度ロードされたらMySQLが終了するまでアンロードされ ません。そのため、MySQLを再起動する必要があります。 ## 変更点リスト さいごに、今回のリリースでの変更点を紹介します。 改良 ^^^^ * 埋め込みサーバーとしてビルドされたMariaDB 10.1にも対応し ました。 [MDEV-8508][GitHub#66] [Sergei Golubchikさんが 報告] * [rpm][mysql55-mroonga] ビルド対象のMySQLのバージョンを更 新しました。 [groonga-dev,03421] [各務さんが報告] 修正 ^^^^ * [rpm][percona-server-56-mroonga] クラッシュバグを修正し ました。 [GitHub#70] [GMOメディア株式会社さんがパッチ提 供] * シャットダウン時に開いているテーブルがあるとクラッシュす る問題を修正しました。 [GitHub#71] [GMOメディア株式会社 さんが報告] 感謝 ^^^^ * GMOメディア株式会社さん * Sergei Golubchikさん * 各務さん -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: http://www.clear-code.com/services/code-reader/