Mroonga blog

2021-05-31

Mroonga 11.03 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 11.03 has been released!

Important notice

This release has had a critical bug about uninstall and upgrade. If we install this version, we fail upgrade Mroonga and also uninstall it.

Therefore, please don't use Mroonga of this version.

If we have already installed Mroonga of this version, we can upgrade Mroonga or uninstall it by using the following workaround.

  1. % echo "#!/bin/sh" > /usr/share/mroonga/deb/postrm.sh
  2. % chmod u+x /usr/share/mroonga/deb/postrm.sh
  3. Upgrade Mroonga or uninstall Mroonga.

Then, there are a few words caution about upgrade to this version or later.

1.

  • The package names are changed from this release. Mroonga may be invalid after upgrade to this version by the influence of this modification.

  • If Mroonga is invalid after the upgrade, we need to install manually Mroonga again. Please refer to the following URL about the manual installation of Mroonga and how to confirming whether Mroonga is valid or not.

  • Besides, please be careful the above phenomenon will continue from now if we will upgrade mroonga to stride over a Mroonga 11.03.

  • If Mroonga is valid after upgrade to this version but, Mroonga's version is old, we need to restart MySQL, MariaDB, or PerconaServer.

    • We can confirm Mroonga's version as the below command.

      • SHOW VARIABLES LIKE 'mroonga_version';

2.

  • There are broken backward compatibility on this version.

  • Users that are using GEOMETRY type need to store the current data before upgrading to Mroonga 11.03 and restore the stored data after upgrading to Mroonga 11.03.

  • Users can use the following methods for dumping/restoring data.

    • mysqldump
    • Execute ALTER TABLE ENGINE=InnoDB before upgrading and execute ALTER TABLE ENGINE=Mroonga after upgrading.

Changes

The main changes are as follows.

Improvements

  • Renamed package names as below.

    • mariadb-server-10.x-mroonga -> mariadb-10.x-mroonga
    • mysql-server-5.x-mroonga -> mysql-community-5.x-mroonga
    • mysql-server-8.x-mroonga -> mysql-community-8.x-mroonga
    • percona-server-5x-mroonga -> percona-server-5.x-mroonga
    • percona-server-8x-mroonga -> percona-server-8.x-mroonga
  • Debian GNU/Linux Added support for the Oracle MySQL 5.7 package and the Oracle MySQL 8.0 package.

    • In this release, we newly provided the package of Mroonga for Debian GNU/Linux with the Oracle MySQL 5.7 and the Oracle MySQL 8.0.

      • By this, we make the Docker image of Mroonga with MySQL for Docker official images.
    • There are below restrictions in the MySQL8 package.

      • Wrapper mode Wrapper mode is not supported yet.

      • Storage mode Storage mode does not support the following feature.

        • The feature of relevant to the optimization.
  • Added support for the SRID of Spatial Indexes.

    • the index of Mroonga is used in search with MBRContains function on MySQL 8.x since this release.
  • We added condition expressions that are applied condition push down.

    Note

    • Condition push down doesn't evaluate condition expressions in MySQL, but it evaluate condition expressions in Mroonga.

    • Therefore, more queries will become high-performance, but the result of search may different than usual by Mroonga evaluate them.**

    • If Mroonga returns unexpected search results, we request that you report from the below URL. And we would like you to invalid for condition push down.

      • https://github.com/mroonga/mroonga/issues/
    • We can invalid condition push down as below.

      • SET GLOBAL mroonga_condition_push_down_type = "NONE"
  • CentOS Added support for Percona Server 8.0.23

Fixes

  • Fixed a bug that latitude and longitude are stored conversely.

    Important

    • backward compatibility is broken by this fix.

    • Users that are using GEOMETRY type need to store the current data before upgrading to Mroonga 11.03 and restore the stored data after upgrading to Mroonga 11.03. Users can use the following methods for dumping/restoring data.

      • mysqldump
      • Execute ALTER TABLE ENGINE=InnoDB before upgrading and execute ALTER TABLE ENGINE=Mroonga after upgrading.
    • If without this fix, INSERT/UPDATE/SELECT/SELECT works well but data stored in Groonga are wrong (Latitude and longitude are swapped in Groonga). Therefore, mroonga_command('select ...') doesn't work for spatial data.

Conclusion

See Release 11.03 - 2021-05-31 about detailed changes since 11.02.

Let's search by Mroonga!