Based on MySQL 5.1.58, including all the bug fixes in it, Percona Server 5.1.58-12.9 is now the current stable release in the 5.1 series. All of Percona`s software is open-source and free, all the details of the release can be found in the 5.1.58-12.9 milestone at Launchpad.
- fsync() has been replaced with fdatasync() to improve perfomance where possible. The former is intended to sync the metadata of the file also (size, name, access time, etc.), but for the transaction log and the doublewrite buffer, such sync of metadata isn’t needed. Bug Fixed: #803270 (Yasufumi Kinoshita).
- A remaining loop from an unimplemented feature degraded the performance when using compressed tables and has been removed (buf_LRU_insert_zip_clean). Bugs Fixed: #802825 / #61341 in MySQL (Yasufumi Kinoshita).
Two new collations, utf8_general50_ci and ucs2_general50_ci, have been to improve compatibility for those upgrading from MySQL 5.0 or 5.1 prior to version 5.1.24.
A fix for a MySQL bug #27877 introduced an incompatible change in collations in MySQL 5.1.24. If the following collations were used:
and any of the indexes contained the German letter “U+00DF SHARP S” ß (which became equal to s), when upgrading from 5.0 / 5.1.23 or lower:
- any indexes on columns in that situation must be rebuilt after the upgrade, and
- unique constrains may get broken after upgrade due to possible duplicates.
Blueprint: utf8-general50-ci-5.1 (Alexey Kopytov).
The Shared Memory Buffer Pool has been removed due to being both invasive and not widely used.
Instead, we recommend using the much safer LRU Dump/Restore patch, which provides similar improvements in restart performance and has the advantage of persisting across machine restarts.
The configuration variables for my.cnf have been kept for compatibility and warnings will be printed for the deprecated options (innodb_buffer_pool_shm_key and innodb_buffer_pool_shm_checksum) if used.
- On a high concurrency environment with compressed tables, users may experience crashes due to improper mutex handling in buf_page_get_zip(). Bug Fix: #802348 (Yasufumi Kinoshita).
- When adding a table to the cache, the server may evict and close another if the table cache is full. If the closed table was on the FEDERATED engine and a replication environment, its client connection to the remote server was closed leading to an unappropriated network error and stopping the Slave SQL thread. Bugs Fixed #813587 / #51196 and #61790 in MySQL (Alexey Kopytov).
- Uninitialized values in the Slow Query Log patch. Bug Fixed: #794774 (Oleg Tsarev).
- Querying global_temporary_tables caused the server to crash in some scenarios due to insufficient locking. Fixed by introducing a new mutex to protect from race conditions. Bugs Fixed: #745241 (Alexey Kopytov).
- As the option ignore-builtin-innodb is incompatible with Percona Server with XtraDB, the server will not start and print the corresponding error instead. Bug Fixed: #704216 (Laurynas Biveinis).
- Querying INNODB_SYS_TABLES after an ALTER TABLE statement leaded to a server crash. Bug Fixed: #627189 (Yasufumi Kinoshita).
- The 64-bit CAS implementation may lead to a server crash on IA32 systems. Bug Fixed: #803865 (Laurynas Biveinis).
- Using the innodb_lazy_drop_table option led to an assertion error when truncating a table in some scenarios. Bug Fixed: #798371 (Yasufumi Kinoshita).
Improvements and fixes on platform-specific distribution:
Improvements and fixes on general distribution:
Improvements and fixes on the Percona Server Test Suite: #790199, #785566, #782391, #800559, #794790, #794780, #800035, #684250, #803140, #803137, #803124, #803110, #803100, #803093, #803088, #803076, #803071 (Oleg Tsarev, Yasufumi Kinoshita, Stewart Smith, Alexey Kopytov).