We all love upgrading to a fresh version of our favorite software, but large-scale MySQL users may want to hold off on updating to the latest build of that database system (v9.0) until after a severe bug is squashed, lest they won’t be able to restart their databases at all.
An apparent bug in MySQL is severe enough that Percona is advising users not to upgrade until Oracle, which manages the open source relational database system, fixes the issue.
The database performance company discovered that upgrading MySQL to either versions 8.0.38, 8.4.1 or the recently released 9.0.0 will cause the database daemon to crash after restarting, at least in those cases where the database has 10,000 tables or more.
Once crashed, the server won’t restart, which could be very problematic for those organizations relying on the database for mission-critical operations.
“We have not yet identified the root cause or a workaround. As such, we suggest that all users do not adopt any of the MySQL versions mentioned until a fix is released,” wrote Percona High Availability Practice Manager Marco Tusa in a customer advisory.
A bug report (#115517 Note: this page is now hidden) has been filed with Oracle, which took the issue offline, presumably to investigate it further. Percona will conduct additional tests as well to further characterize the issue.
Percona has also opened a Jira ticket to gather more data about the problem. There, the company posted instructions on how to (safely) reproduce the bug, first by using Docker to spin up an MySQL instance, and then firing up a ChatGPT-generated script to create 12,000 tables.
Percona’s own test was conducted on a local server running SSD disks. The company marked the issue as “critical” on Thursday.
Could It Be an innoDB Issue?
A second Percona engineer suspected it might be related top an earlier bug that Percona encountered (#115569) in which a MySQL boot process will slow to a crawl if more than 8,000 tables are loaded, due to how the innoDB storage engine calls multiple threads for its check process.
The Hacker News conversation that ensued from this announcement pointed out that 10,000 tables is not that unusually large amount of tables to put in a database, and if there are limits to how many tables MySQL can handle, then those should be documented somewhere.
MySQL is Oracle’s open source general use relational database system (apart from the company’s own flagship, eponymously-named, commercial database system). Although open source, MySQL development and maintenance is managed by Oracle itself. The latest version of MySQL, 9.0 was released earlier this month.
The DB Engines site estimates that MySQL is the second most widely used database system worldwide, trailing only Oracle RDBMS in usage.
Percona’s business model is providing high-performance services and support for database systems such as MySQL, MongoDB and Postgres. And such, the company’s engineers tend to uncover issues in these systems early on, sometimes even before the maintainers themselves.
The post Upgraded MySQL Crashes on Restart: Percona appeared first on The New Stack.
Percona has found that upgrading MySQL to either versions 8.0.38, 8.4.1 or the recently released 9.0.0 will cause the database daemon to crash after restarting, at least in those cases where the database has 10,000 tables or more.