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_doublewrite
system variable, which enables or disables the doublewrite buffer, has two new settings,DETECT_ONLY
andDETECT_AND_RECOVER
. With theDETECT_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. TheDETECT_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 usingALGORITHM=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
buf0buf.cc:4318:page_size.equals_to(space_page_size)
– Rahul Malik from Percona
Clients / Connectors
- #96369 – A new
mysqldump
option--mysqld-long-query-time
lets you set a custom value of thelong_query_time
system 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_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 inglobal_status
. This occurred if some hosts were not instrumented. For example, ifperformance_schema_hosts_size
was 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_queue
andintegrals_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 - #98616 –
XA PREPARE/XA COMMIT/XA ROLLBACK
lost if mysql crash just after binlog flush – Dennis Gao
Replication
- #101056 –
Ack_receiver
may 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 !