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:
InnoDB
- #103211 – The
innodb_doublewritesystem variable, which enables or disables the doublewrite buffer, has two new settings,DETECT_ONLYandDETECT_AND_RECOVER. With theDETECT_ONLYsetting, 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. TheDETECT_AND_RECOVERsetting is equivalent to the existing ON setting – Facebook - #107613 – A
TRUNCATE TABLEoperation failed to remove data dictionary entries for columns that were dropped usingALGORITHM=INSTANT– Marcelo Altmann from Percona - #106687 (private) –
mysqldmay 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
buf0buf.cc:4318:page_size.equals_to(space_page_size)– Rahul Malik from Percona
Clients / Connectors
- #96369 – A new
mysqldumpoption--mysqld-long-query-timelets you set a custom value of thelong_query_timesystem variable formysqldump’s session. Use the new option to increase the elapsed time allowed formysqldump’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_passwordSSL should not be required on Unix socket – Piotr Jurkiewicz - #106779 – Connector/J – Fix typo in
PropertyDefinitions– Weijie Wu
Performance Schema
- #106939 – Under certain circumstances
TRUNCATEperformance_schema.accountscaused duplicated counts inglobal_status. This occurred if some hosts were not instrumented. For example, ifperformance_schema_hosts_sizewas set to a low value – Yuxiang Jiang from Tencent
Compiling
- #107081 – On RHEL 7.x, fetching the CPU cache line size returned 0 on s390x RHEL 7.x which caused
rpl_commit_order_queueandintegrals_lockfree_queueto 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 PREPARElog order error in replication and binlog recovery – Wei Zhao - #98616 –
XA PREPARE/XA COMMIT/XA ROLLBACKlost if mysql crash just after binlog flush – Dennis Gao
Replication
- #101056 –
Ack_receivermay lost the slave semi-sync ack due to net timeout – Dennis Gao
Logging
- #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 !
