Percona is glad to announce the release of Percona Server 5.5.16-22.0 on October 14, 2011 (Downloads are available here and from the Percona Software Repositories).

Based on MySQL 5.5.16, including all the bug fixes in it, Percona Server 5.5.16-22.0 is now the current stable release in the 5.5 series. All of Percona’s software is open-source and free, all the details of the release can be found in the 5.5.16-22.0 milestone at Launchpad.

New Features

InnoDB Fake Changes

When restarting a slave server in a replication environment, the process can be speed up by having prefetch threads to warm the server: replay statements and then rollback at commit.

That makes prefetch simple but has high overhead from locking rows only to undo changes at rollback.

Using this approach, support for Fake Changes have been implemented in order to remove the overhead and make it faster.

By reading the rows for INSERT, UPDATE and DELETE statements but not updating them (Fake Changes), the rollback is very fast as in most cases there is nothing to do.

InnoDB Kill Idle Transactions

NOTE: Percona classes this feature as Beta and possibly not yet suited for production environments.

This feature limits the age of idle |XtraDB| transactions. If a transaction is idle for more seconds than the threshold specified, it will be killed. This prevents users from blocking purge by mistake.

Block startup until LRU dump is loaded

Added a new boolean option, –innodb-blocking-buffer-pool-restore (in 5.1 it is –innodb-blocking-lru-restore), which is OFF by default. When set to ON, restoring from the LRU dump file is synchronous, i.e. InnoDB waits until it is complete before reporting successful startup to the server. #785489 (Alexey Kopytov).

Behavior changes

The Fast Index Creation Feature has been disabled by default to align the behavior with upstream. The boolean variable innodb_expand_fast_index_creation has been introduced for enabling or disabling this feature. #858945 (Alexey Kopytov).

Bugs Fixed

  • InnoDB requires a full table rebuild for foreign key changes. This unnecessarily delays their creation in a mysqldump output, so –innodb-optimize-keys should ignore foreign key constrains. #859078 (Alexey Kopytov).
  • After adding an index using Fast Index Creation, statistics for that index provided by InnoDB were left in a bogus state until an explicit ANALYZE TABLE is executed. #857590 (Alexey Kopytov).
  • QUERY_RESPONSE_TIME doesn’t respect QUERY_RESPONSE_TIME_STATS . #855312 (Oleg Tsarev).
  • The mysqldump option –innodb-optimize-keys did not work correctly with tables where the first UNIQUE key on non-nullable columns was picked as the clustered index by InnoDB in the absence of a PRIMARY KEY#851674 (Alexey Kopytov).
  • Added a new boolean option, –innodb-blocking-lru-restore, which is OFF by default. When set to ON, restoring from the LRU dump file is synchronous, i.e. InnoDB waits until it is complete before reporting successful startup to the server. #785489 (Alexey Kopytov).
  • The Slow Query Log did not log the error number correctly. #830199 (Oleg Tsarev).
  • Variable log-slow-admin-statements was not listed with SHOW VARIABLES#830199 (Oleg Tsarev).
  • Fixed assertion failure in InnoDB. #814404 (Yasufumi Kinoshita).
  • Since AUTO_INCREMENT columns must be defined as keys, omitting key specifications and then adding them back in ALTER TABLE doesn’t work for them. mysqldump --innodb-optimize-keys has been fixed to take this into account. #812179 (Alexey Kopytov).

Other Changes

  • Improvements and fixes on general distribution: #845019#702376#795747 (Alexey Kopytov, Ignacio Nin, Yasufumi Kinoshita).

More information

For more information, please see the following links:

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Art van Scheppingen

Great to see the blocking LRU load has been implemented. Nice improvement! 🙂
I see in the release notes of 5.5 the same directive as in 5.1:
“Added a new boolean option, –innodb-blocking-lru-restore, which is OFF by default.”
However in the bugreport the directive is called differently:
“In 5.5, the option name is innodb-blocking-buffer-pool-restore (to be consistent with innodb-buffer-pool-restore-at-startup).”

Just checked 5.5.16 on our test machine with the innodb-blocking-buffer-pool-restore directive:
mysqld: 111017 10:13:12 InnoDB: Restoring buffer pool pages from ib_lru_dump

So I guess the release notes of 5.5.16 need to be corrected.