Mroonga blog

2015-08-31

Mroonga 5.06 has been released!

Mroonga is a MySQL storage engine that supports fast fulltext search and geolocation search. It is CJK ready. It uses groonga as a storage and fulltext search engine.

Mroonga 5.06 has been released!

The release don't have many changes, but we recommend upgrading to the person that matching any of the following condition:

  • Using Mroonga 5.04 or Mroonga 5.05
  • Using any multiple column index

Using Mroonga 5.04 or Mroonga 5.05

There is a crash bug in Mroonga 5.04 and 5.05 when shutdown MySQL. This bug is fixed in Mroonga 5.06.

Note that it does not always crash. it crashes If the following condition is met:

  • Opening one or more Mroonga tables

So, you can avoid this crash bug if you close all table by FLUSH TABLES before shutting down MySQL.

FLUSH TABLES;

And more, this crash is occurred when uninstalling Mroonga for the same reason. So, please upgrade by the following steps:

  1. Execute FLUSH TABLES;
  2. Upgrade Mroonga

Using any multiple column index

This is not the issue Mroonga itself, but Groonga which is used from Mroonga. There is a possibility breaking indexes if either the following condition are met.

  • Add multiple column index by ALTER TABLE ADD INDEX against already data is stored in the table. (ALTER TABLE ADD FULLTEXT INDEX also hit this bug)
  • Apply ALTER TABLE ENABLE KEYS against multiple column index
  • Execute mysqldump and restore which contains multiple column index in the table

If indexes are broken, the following expected behavior occurs:

  • Hit the records that it does not want to match
  • Don't hit the records that it must be match

This issue is not always happen. The number of records or the amount of data increase, it tends to be occurred. So, we recommends to upgrade when multiple column index is used.

Note that this is NOT Mroonga issue, but Groonga issue. Strictly speaking, it is good enough only upgrading Groonga, but most of Mroonga user doesn't care about Groonga, So we show the upgrade procedure about Mroonga.

  1. Upgrading Mroonga
  2. Restarting MySQL (MUST!)

When upgrading Mroonga, Groonga packages are also upgraded. Mroonga itself can be dynamically reloaded, but Groonga is not. So We need to restart MySQL explicitly.

Conclusion

See Release 5.06 - 2015-08-31 about detailed changes since 5.05.

Let's search by Mroonga!