Percona Monthly Bug Report: April 2021

Percona Monthly Bug Report April 2021Here at Percona, we operate on the premise that full transparency makes a product better. We strive to build the best open-source database products, but also to help you manage any issues that arise in any of the databases that we support. And, in true open-source form, report back on any issues or bugs you might encounter along the way.

We constantly update our bug reports and monitor other boards to ensure we have the latest information, but we wanted to make it a little easier for you to keep track of the most critical ones. These posts are a central place to get information on the most noteworthy open and recently resolved bugs. 

In this April 2021 edition of our monthly bug report, we have the following list of bugs:

Percona Server for MySQL/MySQL Bugs

PS-7485 (MySQL #102094): MySQL Crash can be seen in the following cases after running store procedures.

– Execution of a prepared statement that performed a multi-table UPDATE or DELETE was not always done correctly.

– Prepared SET statements containing subqueries in stored procedures could raise an assertion.

Affects Version/s: 8.0.22  [Tested/Reported version 8.0.22]

Fixed Version/s: 8.0.23

 

PS-7477 (MySQL#101257) : MySQL-8 Crash. Prepared statements involving stored programs could cause mysql to crash due to heap-use-after-free memory problems. Crash can be seen also for a table with a trigger and running INSERT/UPDATE on it.

Affects Version/s: 8.0.22  [Tested/Reported version 8.0.22]

Fixed Version/s: 8.0.23

 

MySQL#102586:  When doing a multiple-table DELETE that is anticipating a foreign key ON DELETE CASCADE, the statements work on the primary but it breaks row-based replication.

Affects Version/s: 8.0, 5.7  [Tested/Reported version 8.0.23, 5.7.33]

 

PS-7542: SELECT query which creates temporary tables could lead to “ERROR 1022 (23000): Can’t write; duplicate key in table ‘/path/tmp/#sqla882_21_2‘” error.

Workaround: Running the same SELECT query works fine after changing internal_tmp_mem_storage_engine from TempTable(default) to MEMORY.

Affects Version/s: 8.0  [Tested/Reported version 8.0.17-8, 8.0.22-13,8.0.23]

 

Register for Percona Live ONLINE
A Virtual Event about Open Source Databases

 

Recently MySQL 8.0.24 released with many improvements and bug fixes, and following are the few noticeable changes:

MySQL #98311 Improvement for Error Handling:

  • Client connection failure messages now include the port number. For example: Can’t connect to MySQL server on ‘127.0.0.1:63333’..

Optimizer Improvement:

  • The MySQL query optimizer can now apply the derived table optimization to correlated scalar subqueries. 

InnoDB:

  • A function that checks for locks on a table tried to acquire an exclusive lock system (lock_sys) latch, causing long semaphore waits. (Bug #32545030)
  • Counting temporary tablespaces as open files caused the innodb_open_files limit to be exceeded, preventing other files from being opened. Temporary tablespaces are now ignored when counting open files. (Bug #32541241)
  • Rollback of a transaction that modified generated columns raised an assertion failure. The failure occurred when attempting to free space occupied by externally stored columns. The update vector containing the externally stored columns did not account for the generated columns. (Bug #32529561)
  • An unnecessary full flush list scan was removed, improving the speed with which session temporary tablespaces are created. Previously, depending on the size of the buffer pool and the number of dirty pages, the creation of session temporary tablespaces could take a long time, affecting write transaction performance. (Bug #32423860)
  • The introduction of sharded rw_lock_stats counters in MySQL 5.7 caused a regression in CPU cache efficiency. To address this issue in MySQL 5.7, the sharding method was changed. For optimal performance, the rw_lock_stats counter is removed in MySQL 8.0. (Bug #32225367)
  • The TempTable memory allocator did not track RAM consumption when allocating blocks of memory shared by different queries for a given session, which could result in nonadherence to the temptable_max_ram limit. (Bug #29890126)

 

 

PERCONA LIVE CTA

 

Percona XtraDB Cluster

PXC-3631: In PXC cluster running ALTER TABLE can get stuck into waiting for table metadata lock state.

The issue with this bug is that normally, in TOI mode, when ALTER TABLE comes, the master node finishes already running INSERTs first, then it finishes quickly and does not affect the performance of SELECT queries on reader nodes at all.

However, sometimes it hangs for a long time and blocks other queries. With a high number of wsrep_slave_threads, the pxc node is also crashed.

Affects Version/s:  5.7 [Tested/Reported version 5.7.33]

 

PXC-3536: PXC Cluster data inconsistency after MDL conflict solved. In case of scenarios where DDL and DML conflict resolution leads to data inconsistencies between cluster nodes.  

Example:  ALTER/CREATE table aborted on node1, but the table creation succeeds on the replica nodes.  This may be the case with all DDL.  

Affects Version/s: 8.0,5.7  [Tested/Reported version 8.0.21-12.1, 5.7.31-31.45.3]

Fixed Version: 8.0.22-13.1, 5.7.33-31.49

 

Percona XtraBackup

PXB-2375:  In some cases, XtraBackup will write the wrong binlog filename, pos, and GTID combination info in xtrabackup_binlog_info. 

If we are using this backup with GTID position details in xtrabackup_binlog_info to create a new replica, then most likely replication will break due to incorrect GTID position.

Looks like the GTID position is not consistent with binlog file pos, they are captured differently and later printed together in xtrabackup_binlog_info  file.

Affects Version/s:  8.0 [Tested/Reported version 8.0.14]

 

PXB-2274: XtraBackup prepare fails with the wrong LSN message when there are DML statements running during a backup stage. So, it affected all backups with the above case.

Affects Version/s: 8.0 [Tested/Reported version 8.0.22-15]

Fixed Version/s: 8.0.23

 

Percona Toolkit

PT-1919:  Running a pt-osc on a table that has trigger/s with alter-foreign-keys-method drop_swap mode (or auto mode which could choose drop swap) will delete some trigger/s.

Affects Version/s:  3.2.1, 3.3.0

Fixed Version: 3.3.1

 

PT-1747: pt-online-schema-change was bringing the database into a broken state when applying the “rebuild_constraints” foreign keys modification method if any of the child tables were blocked by the metadata lock.

Affects Version/s:  3.0.13

 

PMM  [Percona Monitoring and Management]

PMM-7689: MongoDB monitoring vai mongodb_exporter stopped working and has the status “Waiting” with error in logs: “error getting cluster ID: error decoding key config.settings.getLastErrorDefaults.w: cannot decode string into an integer type: cannot get topology labels”

This case does not have any workaround, upgrade the PMM version to 2.16.0 to avoid this issue.

Affects Version/s:  2.0 (Tested with 2.15.0)

Fixed Version: 2.16.0

 

PMM-7464: NGINX misconfiguration like client_max_body_size is set to 10m which is much higher than the buffer size resulting in frequent messages in nginx log with pmm-agent push mode. 

Affects Version/s:  2.0 (Tested with 2.12.0)

Fixed Version: 2.16.0

 

PMM-4665: Frequent error messages in pmm-agent.log for components like tokudb storage engine which are not supported by upstream MySQL. As a result, it increases the overall log file size due to these additional messages.

Affects Version/s:  2.x  [Tested/Reported version 2.0.13]

 

Summary

We welcome community input and feedback on all our products. If you find a bug or would like to suggest an improvement or a feature, learn how in our post, How to Report Bugs, Improvements, New Feature Requests for Percona Products.

For the most up-to-date information, be sure to follow us on Twitter, LinkedIn, and Facebook.

Quick References:

Percona JIRA  

MySQL Bug Report

Report a Bug in a Percona Product

MySQL 8.0.24 Release notes

___

About Percona:

As the only provider of distributions for all three of the most popular open source databases—PostgreSQL, MySQL, and MongoDB—Percona provides expertise, software, support, and services no matter the technology.

Whether it’s enabling developers or DBAs to realize value faster with tools, advice, and guidance, or making sure applications can scale and handle peak loads, Percona is here to help.

Percona is committed to being open source and preventing vendor lock-in. Percona contributes all changes to the upstream community for possible inclusion in future product releases.

Share this post

Leave a Reply