MySQL 8.0.30: thank you for the contributions

During my summer holidays, we released MySQL 8.0.30.

MySQL 8.0.30 was released on July 26th 2022. If you are using 8.0.29, it’s highly recommended to upgrade as there was a bug corrupting InnoDB files in a rare and specific case.

This new release contains several contributions from our awesome Community and on behalf of the entire MySQL Team, as usual, I would like to thanks all our contributors !

This new release contains patches from Facebook/Meta, Marcelo Altmann (Percona), Mengchu Shi, Zhou Xinjing (Tencent), Yuxiang Jiang (Tencent), Namrata Bhave, Hongyuan Li, Alexey Kopytov, Wei Zhao, Piotr Jurkiewicz, Dennis Gao, Zheng Lai, Bin Wang, Hao Wu (Tencent), Weijie Wu and Rahul Malik (Percona).

Once again, thank you all for your great contributions and to the companies you are working for.

Here is the list of the above contributions and related bugs:


  • #103211 – The innodb_doublewrite system variable, which enables or disables the doublewrite buffer, has two new settings, DETECT_ONLY and DETECT_AND_RECOVER. With the DETECT_ONLY setting, database page content is not written to the doublewrite buffer, and recovery does not use the doublewrite buffer to fix incomplete page writes. This lightweight setting is intended for detecting incomplete page writes only. The DETECT_AND_RECOVER setting is equivalent to the existing ON setting – Facebook
  • #107613 – A TRUNCATE TABLE operation failed to remove data dictionary entries for columns that were dropped using ALGORITHM=INSTANT – Marcelo Altmann from Percona
  • #106687 (private) – mysqld may crash due to a debug assertion failure – Menchu Shi
  • #100512 – Enabling the adaptive hash index (AHI) on a high-concurrency instance caused temporary AHI search latch contention while the hash index was being built – Zhou Xinjing from CDB Team at Tencent
  • #81814 – InnoDB adaptive hash index uses a bad partitioning algorithm for the real world – Alexey Kopytov
  • #102733 (private) – Server crash in specific mtr test cases launched in parallel – Zheng Lai (base fixed version: 5.7.38)
  • #106630 – Missing declaration of srv_log_writer_timeout – Hao Wu from Tencent
  • #107207 – Assertion Failure – Rahul Malik from Percona

Clients / Connectors

  • #96369 – A new mysqldump option --mysqld-long-query-time lets you set a custom value of the long_query_time system variable for mysqldump’s session. Use the new option to increase the elapsed time allowed for mysqldump’s queries before they are written to the slow query log file, in order to avoid unnecessary logging – Facebook
  • #92260 – Connector/Python – With caching_sha2_password SSL should not be required on Unix socket – Piotr Jurkiewicz
  • #106779 – Connector/J – Fix typo in PropertyDefinitions – Weijie Wu

Performance Schema

  • #106939 – Under certain circumstances TRUNCATE performance_schema.accounts caused duplicated counts in global_status. This occurred if some hosts were not instrumented. For example, if performance_schema_hosts_size was set to a low value – Yuxiang Jiang from Tencent


  • #107081 – On RHEL 7.x, fetching the CPU cache line size returned 0 on s390x RHEL 7.x which caused rpl_commit_order_queue and integrals_lockfree_queue to fail – Namrata Bhave
  • #106824 – Added a cycle timer for the s390x architecture – Namrata Bhave
  • #106555 – Fixed an assert definition in SetOsLimitMaxOpenFiles – Hongyuan Li

XA Transactions

  • #87560 XA PREPARE log order error in replication and binlog recovery – Wei Zhao
  • #98616XA PREPARE/XA COMMIT/XA ROLLBACK lost if mysql crash just after binlog flush – Dennis Gao


  • #101056Ack_receiver may lost the slave semi-sync ack due to net timeout – Dennis Gao


  • #106590 – Fix spell of log messages in mysql_safe – Bin Wang (base fixed version: 5.7.38)

As usual, those contributions cover many different sections of MySQL. If you have patches and you also want to be part of the MySQL Contributors, it’s easy, you can send Pull Requests from MySQL’s GitHub repositories or send your patches on Bugs MySQL (signing the Oracle Contributor Agreement is required).

And don’t forget, that if you want to extend MySQL, the best way is to create a component. Now there is a complete series to learn how to start using the MySQL Component Infrastructure (part 1) !

Thank you again to all our contributors !

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

As MySQL Community Manager, I am an employee of Oracle and the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

You can find articles I wrote on Oracle’s blog.