Skip to content

Rate this page
Thanks for your feedback
Thank you! The feedback has been submitted.

Get free database assistance or contact our experts for personalized support.

Percona Server for MySQL 8.0.44-35 (11-24-2025)

Get started with Quickstart Guide for Percona Server for MySQL.

Percona Server for MySQL 8.0.44-35 includes all the features and bug fixes available in the MySQL 8.0.44 Community Edition and enterprise-grade features developed by Percona.

Release highlights

MySQL 8.0.44

Improvements and bug fixes provided by Oracle for MySQL 8.0.44 and included in Percona Server for MySQL are the following:

  • Fixed an issue where parallel scan thread creation could fail, causing assertion failures when falling back to single-thread mode. (Bug #38325137)

  • Fixed an issue where virtual index rollback could fail on 32-bit builds of MySQL Server under certain circumstances. (Bug #38167527)

  • Fixed an issue where very large buffer pools could require excessive memory chunks per instance, potentially causing allocation failures. The allocation is now validated to ensure proper memory allocation. (Bug #37994397)

  • Fixed an issue where assertion failures could occur due to data size and bounds mismatches during DDL file operations. (Bug #37882398)

  • Fixed an issue related to modifying the internal Full-Text Search (FTS) configuration. (Bug #37792010)

  • Fixed an issue related to virtual indexes. (Bug #37602657)

  • Fixed an issue where confusing warning messages could appear when row sizes exceeded maximum allowed limits with innodb_strict_mode=OFF, such as during table selection or column dropping operations. Error messages have been improved for clarity. (Bug #37003342, Bug #36768046, Bug #36867372)

Find the complete list of bug fixes and changes in the MySQL 8.0.44 Release Notes.

Improvements

  • PS-8980: Percona Server for MySQL 8.0.44-35 adds the performance_schema.account_failed_login_lock_status table which lists the user accounts that have been temporarily locked after reaching the limit for failed login attempts.

Bug Fixes

InnoDB

  • PS-9837: A server exit occurs on a replica that uses replica_parallel_workers > 0 and slave_preserve_commit_order=ON when many threads repeatedly delete rows and then insert new rows having the same secondary‑index values, creating duplicate index entries. Changing the workload to a single UPDATE (instead of a delete‑followed‑by‑insert) prevents the duplicate‑key situation and stops the replica from exiting.

  • PS-9838: The server’s estimate for how many rows fit in one index leaf (guess_rec_per_key()) uses two numbers: used_keyparts (the parts actually stored in the index) and user_defined_key_parts (the parts the user declared). If these two counts differ, the formula calculates the wrong capacity, leading to inaccurate index‑size estimates.

  • PS-10283: A debug‑assertion failure (field.field_no < dict_index_get_n_fields(index)) that occurred during recovery of InnoDB tables using ROW_FORMAT=REDUNDANT. The fix added a conditional bypass of the index‑field validation when the server was in recovery mode and the table was non‑compact (redundant), preventing the assertion from triggering and allowing the server to start and recover normally.

MyRocks

  • PS-9220: During slow‑query‑log rotation the server attempts to write to the base file slow.log (which isn’t created), raises an error - errno 2 – No such file or directory, but the logs are written with numeric suffixes (for example, slow.log.000087) that obey the configured size and file‑count limits.

  • PS-9452: When the server uses a thread‑pool (thread_handling = pool‑of‑threads) and the variable thread_pool_high_prio_mode is set to transactions, every new client connection is placed in the normal‑priority queue. The queue is processed only if there is a free thread in the pool.

  • PS-9680: Calling ALTER TABLE … IMPORT TABLESPACE (or any RocksDB operation that creates a new table) from many threads at the same time can trigger the error “Invalid argument: Global seqno is required, but disabled.” Even when rocksdb_bulk_load is set to 0, this error indicates that RocksDB’s global sequence‑number tracking is turned off while the engine still expects it, causing write‑order mismatches that may corrupt the data.

  • PS-9834: The Audit Log Filter incorrectly deletes all rotated logs if the audit_log_filter.max_size is set > 2 GiB.

  • PS-9840: An assertion was triggered because a data dictionary table existed for table T, yet that table was not registered in RocksDB. The storage engine could not locate the corresponding physical representation, leading to the failure.

  • PS-9842: An assertion was raised because rocksdb::MergingIterator::CurrentForward() asserted that minHeap_.empty() || minHeap_.top()->type == HeapItem::Type::ITERATOR. The fix corrected the heap‑state handling, eliminating the SIG 6 termination and stabilized table‑check operations.

  • PS-10067: This fix resolves malformed reads and improves the stability of index iteration. The update fixed Rdb_convert_to_record_key_decoder::skip() so that it now advances both the key‑slice reader and the unpack‑information reader. By consuming the per‑field metadata (item 5) during iteration with Rdb_key_field_iterator::next(), the function correctly handles index fields created via make_unpack_unknown_varlength().

  • PS-10075: A checksum‑mismatch failure when executing queries with RocksDB enabled with default settings. The fix corrected the checksum validation logic and ensured that index scans correctly verified and updated record checksums, eliminating the “record checksum mismatch” and “corrupt” messages during table checks.

  • PS-10131: The audit_log_rotate() could be delayed up to one second because FileWriterBuffering::close() waited for a flush‑worker thread that was sleeping in mysql_cond_timedwait. The fix signals the flush‑worker immediately before the wait, ensuring prompt buffer flushing and preventing rotation delays.

  • PS-10210: Added enforcement for the ranges for the following MyRocks variables: rocksdb_block_size now rejects sizes larger than 4 GiB, rocksdb_keep_log_file_num must be greater than 0, and rocksdb_persistent_cache_size_mb requires a minimum of 100 MiB. Additionally, the rocksdb_debug_cardinality_multiplier parameter was constrained to valid ranges, eliminating the crashes that occurred when it was set to 0.

  • PS-10227: An unexpected server exit occurred when rocksdb_table_stats_skip_system_cf was enabled. Previously, enabling this option left the system column‑family pointer null during RocksDB recovery, causing an assertion failure in Rdb_cf_manager::get_cf() and aborting mysqld with signal 6. The fix introduced proper initialization and safety checks for the system column family, allowing the server to start normally while still skipping system‑CF statistics.

Build & packaging notes

Install Percona Server for MySQL 8.0

Upgrade Percona Server for MySQL from 5.7 to 8.0

The Percona Server for MySQL GitHub repository

Download product binaries, packages, and tarballs at Percona Product Downloads

Contribute to the documentation

For training, contact Percona Training - Start learning now