Mroonga blog

2021-08-29

Mroonga 11.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 11.06 has been released!

Changes

The main changes are as follows.

Improvements

  • CentOS Added support for MariaDB 10.2.40, 10.3.31, 10.4.21, and 10.5.12.

  • CentOS Added support for MariaDB 10.6.4.

  • CentOS Added support for Percona Server 5.7.35.

  • Debian Added support for Debian 11 (bullseye).

Conclusion

See Release 11.06 - 2021-08-29 about detailed changes since 11.05.

Let's search by Mroonga!

2021-07-30

Mroonga 11.05 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.05 has been released!

Changes

The main changes are as follows.

Improvements

  • CentOS Added support for Percona Server 8.0.25

  • CentOS Added support for MySQL 5.7.35, 8.0.26.

    • 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.
  • Ubuntu Dropped Ubuntu 20.10 (Groovy Gorilla) support.

    • Because Ubuntu 20.10 reached EOL July 22, 2021.

Fixes

  • Fix a crash bug that may be caused after MySQL/MariaDB upgrade.

    • Mronnga may crash if we execute SELECT ... MATCH AGAINST after MySQL/MariaDB upgrade.

Conclusion

See Release 11.05 - 2021-07-30 about detailed changes since 11.04.

Let's search by Mroonga!

2021-06-29

Mroonga 11.04 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.04 has been released!

Changes

The main changes are as follows.

Improvements

  • Server variables We disabled mroonga_enable_operations_recording by default.

    mroonga_enable_operations_recording to determine whether recording operations for auto recovering are enabled or not.

    This recording of operations is for auto recovering Mroonga when it crashed. Normally, if lock remain in Mroonga, we can't execute INSERT/DELETE/UPDATE, but if mroonga_enable_operations_recording is enable, we may not execute SELECT at times in addition to INSERT/DELETE/UPDATE. Because auto recovery is sometimes blocked by residual lock when they crashed.

    Therefore, we set OFF to the default value in this version. By we disable operation recording, INSERT/DELETE/UPDATE is blocked as usual because of the residual lock, but "SELECT" may bework.

    An appropriate way to handle to residual lock is as follows.

    • https://www.clear-code.com/blog/2021/6/1/mroonga-recover-lock-failed-2021.html (Japanese only)
  • Debian GNU/Linux Added a install procedure for Mroonga for Debian GNU/Linux with Oracle MySQL package.

    We supoort Mroonga for Debian GNU/Linux with Oracle MySQL package in Mroonga 11.03. We wrote install procedure for these package to this documentation. When we will install these packages, please refer to this documentation.

  • CentOS Added support for MariaDB 10.2.39, 10.3.30, 10.4.20, and 10.5.11.

Fixes

  • Fix a crash bag when we execute search

    This issue doesn't occur under normal use.

    The occurrence condition is as below.

    • We directly make tables and columns on Groonga by using mroonga_command.
    • We execute search at the same time as delete the above tables and columns.

    When the above conditions are established, Mroonga might crash.

Conclusion

See Release 11.04 - 2021-06-29 about detailed changes since 11.03.

Let's search by Mroonga!

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!

2021-05-10

Mroonga 11.02 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.02 has been released!

Changes

The main changes are as follows.

Improvements

  • CentOS Added support for MySQL 5.7.34, 8.0.25.

    • 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.
        • The SRID of Spatial Indexes.
          • For example, the index of Mroonga is not used in search with MBRContains function. (It search by sequential search.)
  • CentOS Added support for MariaDB 10.2.38, 10.3.29, 10.4.19, and 10.5.10.

  • Ubuntu Dropped Ubuntu 16.04 (Xenial Xerus) support.

    • Because it reached End of Standard Support at April, 2021.

Conclusion

See Release 11.02 - 2021-05-10 about detailed changes since 11.01.

Let's search by Mroonga!