|
| 1 | +# Percona Server for MySQL 8.4.4-4 (2025-03-18) |
| 2 | + |
| 3 | +Get started with [Quickstart Guide for Percona Server for MySQL]. |
| 4 | + |
| 5 | +[Percona Server for MySQL 8.4.4-4] includes all the features and bug fixes available in the MySQL 8.4.4 Community Edition in addition to enterprise-grade features developed by Percona. |
| 6 | + |
| 7 | +## Release highlights |
| 8 | + |
| 9 | +### Percona Server for MySQL 8.4.4-4 |
| 10 | + |
| 11 | +* Improves the [Data masking](..//data-masking-overview.md) performance by introducing an internal term cache. The new cache speeds up lookups for `gen_blocklist()` and `gen_dictionary()` functions by storing dictionary data in memory. However, if the dictionary table is modified directly (outside of the proper functions), the cache may become out of sync. To fix this, use the `new masking_dictionaries_flush()` function. |
| 12 | + |
| 13 | + Changes also affect row-based replication: dictionary changes on the source server are replicated, but the term cache on the replica doesn’t update immediately. To address this, a new system variable, `component_masking_functions.dictionaries_flush_interval_seconds`, can be set to automatically refresh the cache at specified intervals, helping replicas stay in sync. |
| 14 | + |
| 15 | + Find more detailed information in the [Data masking overview](..//data-masking-overview.md) and in the [Data masking component functions](..//data-masking-function-list.md). |
| 16 | + |
| 17 | +* Improves the behavior of `audit_log_filter_set_user` to support wildcards in the hostname. |
| 18 | + |
| 19 | +### MySQL 8.4.4 |
| 20 | + |
| 21 | +Improvements and bug fixes introduced by Oracle for MySQL 8.4.4 and included in Percona Server for MySQL are the following: |
| 22 | + |
| 23 | +* Fixed an assertion in debug builds where certain IO buffer serializations caused system hangs. (Bug #37139618) |
| 24 | + |
| 25 | +* Resolved a failure when dropping the primary key and adding a new `AUTO_INCREMENT` column as the primary key in descending order using the `INPLACE` algorithm resulted in failure. (Bug #36658450) |
| 26 | + |
| 27 | +* Fixed incorrect results, including missing rows, in queries that used a descending primary key with the `index_merge` optimization. (Bug #106207, Bug #33767814) |
| 28 | + |
| 29 | +* Addressed a replication channel issue where MySQL failed to stop the channel properly when large transactions were being processed, and `STOP REPLICA` was requested. This issue also prevented graceful server shutdown, requiring process termination or system restart. (Bug #115966, Bug #37008345) |
| 30 | + |
| 31 | +Find the complete list of bug fixes and changes in the [MySQL 8.4.4 release notes]. |
| 32 | + |
| 33 | +## Improvements |
| 34 | + |
| 35 | +* [PS-9148](https://perconadev.atlassian.net/browse/PS-9148): Extends the [Data masking](..//data-masking-overview.md) with new additions from MySQL 8.3.0 [Enterprise Data Masking and De-Identification Component Variables](https://dev.mysql.com/doc/refman/8.4/en/data-masking-component-variables.html). |
| 36 | + |
| 37 | +* [PS-9024](https://perconadev.atlassian.net/browse/PS-9024): Improves the behavior of `audit_log_filter_set_user` to support wildcards in the hostname. |
| 38 | + |
| 39 | +## Bug fixes |
| 40 | + |
| 41 | +* [PS-9391](https://perconadev.atlassian.net/browse/PS-9391): The replication broke with the error `HA_ERR_KEY_NOT_FOUND` when the `slave_rows_search_algorithms` were set to `INDEX_SCAN,HASH_SCAN`. |
| 42 | + |
| 43 | +* [PS-9416](https://perconadev.atlassian.net/browse/PS-9416): The error messages from the Key Management Interoperability Protocol (KMIP) component were not descriptive. |
| 44 | + |
| 45 | +* [9509](https://perconadev.atlassian.net/browse/PS-9509): Percona Server stopped tracking the `global_connection_memory` when using `thread_handling='pool-of-threads'`. |
| 46 | + |
| 47 | +* [PS-9537](https://perconadev.atlassian.net/browse/PS-9537): When building a new component that used mysql_command_xxx services (such as `mysql_command_factory`, `mysql_command_query`, etc.), it was impossible to reuse the same connection to run multiple queries. This issue was observed with `SELECT` queries, but it may also apply to `INSERT`, `UPDATE`, and `DELETE` operations. |
| 48 | + |
| 49 | +* [PS-9542](https://perconadev.atlassian.net/browse/PS-9542): Added Clang-19 to Azure pipelines, and fixed the clang-19 compilation issues. |
| 50 | + |
| 51 | +* [PS-9551](https://perconadev.atlassian.net/browse/PS-9551): When building a new component that used mysql_command_xxx services (such as `mysql_command_factory`, `mysql_command_query`, etc.), a server exit was encountered when setting the `MYSQL_COMMAND_LOCAL_THD_HANDLE` option. |
| 52 | + |
| 53 | +* [PS-9611](https://perconadev.atlassian.net/browse/PS-9611): An assertion failure occurred during server shutdown: `!is_set() || m_can_overwrite_status`. |
| 54 | + |
| 55 | +* [PS-9612](https://perconadev.atlassian.net/browse/PS-9612): Percona Server build failed if more than 128 threads were available. Percona merged the fix from [MariaDB](https://github.com/MariaDB/server/commit/fd9f1638ea7). |
| 56 | + |
| 57 | +* [PS-9654](https://perconadev.atlassian.net/browse/PS-9654): There was an incorrect usage of `setup_component_customized.inc` in the MySQL Test Runner (MTR) tests. |
| 58 | + |
| 59 | +* [PS-9033](https://perconadev.atlassian.net/browse/PS-9033): The `audit_log_filter` plugin did not register remote accesses. |
| 60 | + |
| 61 | +* [PS-9464](https://perconadev.atlassian.net/browse/PS-9464): Some queries that used hash antijoins returned incorrect results when the hash table did not fit in the join buffer and spilled to the disk. (The query triggering the issue specified LEFT JOIN, which was transformed internally from a left outer join to an antijoin.) Percona merged the fix from MySQL (Bug #116334, Bug #37161583). |
| 62 | + |
| 63 | +* [PS-9614](https://perconadev.atlassian.net/browse/PS-9614): The `Pool-of-Threads` timer thread failed to start if `mysqld` was started with `--daemonize`. |
| 64 | + |
| 65 | +* [PS-9668](https://perconadev.atlassian.net/browse/PS-9668): The server exited when executing `LOCK TABLES FOR BACKUP` after audit logs were enabled. |
| 66 | + |
| 67 | +## Additional resources |
| 68 | + |
| 69 | +* Install [Percona Server for MySQL 8.4] |
| 70 | + |
| 71 | +* The [Percona Server for MySQL GitHub repository] |
| 72 | + |
| 73 | +* Download product binaries, packages, and tarballs at [Percona Software Downloads] |
| 74 | + |
| 75 | +* [Contribute to the documentation] |
| 76 | + |
| 77 | +* For [training], contact [Percona Training - Start learning now] |
| 78 | + |
| 79 | +[Quickstart Guide for Percona Server for MySQL]: ../quickstart-overview.md |
| 80 | +[Percona Server for MySQL 8.4.4-4]: https://www.percona.com/software/mysql-database/percona-server |
| 81 | + |
| 82 | + |
| 83 | +[Percona Server for MySQL 8.4]: ../installation.md |
| 84 | + |
| 85 | +[MySQL 8.4.4 release notes]: https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-4.html |
| 86 | + |
| 87 | +[Percona Server for MySQL GitHub repository]: https://github.com/percona/percona-server |
| 88 | +[Percona Software Downloads]: https://www.percona.com/downloads |
| 89 | +[Contribute to the documentation]: https://github.com/percona/psmysql-docs/blob/8.0/contributing.md |
| 90 | +[training]: https://www.percona.com/training |
| 91 | +[Percona Training - Start learning now]: https://learn.percona.com/contact-me |
0 commit comments