Percona Server for MySQL version 5.5.30-30.2
Percona is glad to announce the release of Percona Server for MySQL 5.5.30-30.2 on April 10, 2013 (Downloads are available here and from the Percona Software Repositories). Based on MySQL 5.5.30, including all the bug fixes in it, Percona Server 5.5.30-30.2 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.30-30.2 milestone at Launchpad.
New Features:
- Percona Server for MySQL has implemented priority connection scheduling for the Thread Pool. (Alexey Kopytov)
- Percona Server for MySQL will now be shipped with the
libjemalloc
library. Benchmark showing the impact of memory allocators on MySQL performance can be found in this blogpost. (Ignacio Nin) - This release of Percona Server for MySQL has fixed a number of performance bugs. (Alexey Kopytov)
- Drop table performance feature has been removed and its controlling variable innodb_lazy_drop_table has been deprecated. Feature has been removed because the upstream
DROP TABLE
implementation has been improved. (Laurynas Biveinis)
Bugs Fixed:
- Due to parse error in the
percona-server.spec
Percona Server rpm packages couldn’t be built on RHEL 5 and CentOS 5. Bug fixed #1144777 (Ignacio Nin). - When mysqldump was used with
--innodb-optimize-keys
option it produced invalid SQL for cases when there was an explicitly named foreign key constraint which implied an implicit secondary index with the same name. Fixed by detecting such cases and omitting the corresponding secondary keys from deferred key creation optimization. Bug fixed #1081016 (Alexey Kopytov). - Percona Server for MySQL was built with YaSSL which could cause some of the programs that use it to crash. Fixed by building packages with OpenSSL support rather than the bundled YaSSL library. Bug fixed #1104977 (Ignacio Nin).
- Running the DDL statement while variable innodb_lazy_drop_table was enabled could cause assertion failure. Bugs fixed #1086227 and #1128848 (Laurynas Biveinis).
- Fixed yum dependencies that were causing conflicts in CentOS 6.3 during installation. Bugs fixed #1031427 and #1051874 (Ignacio Nin).
- The log tracker thread was unaware of the situation when the oldest untracked log records are overwritten by the new log data. In some corner cases this could lead to assertion errors in the log parser or bad changed page data. Bug fixed #1108613 (Laurynas Biveinis).
- Ported a fix from MariaDB for the upstream bug #63144.
CREATE TABLE
or CREATE TABLE IF NOT EXISTS
statements on an existing table could wait on a metadata lock instead of failing or returning immediately if there is a transaction that executed a query which opened that table. Bug fixed #1127008 (Sergei Glushchenko). - Fix for bug #1070856 introduced a regression in Percona Server for MySQL 5.5.28-29.3 which could cause a server to hang when binary log is enabled. Bug fixed #1162085 (Alexey Kopytov).
- Fixed upstream bug #49169 by avoiding the malloc call in the
read_view_create_low()
in most cases. This significantly improves InnoDB scalability on read-only workloads, especially when the default glibc memory allocator is used. Bug fixed #1131187 (Alexey Kopytov). - Removed
trx_list
scan in read_view_open_now()
which is another problem originally reported as upstream bug #49169. This also provides much better scalability in InnoDB high-concurrent workloads. Bugs fixed #1131189 (Alexey Kopytov). - In the event that a slave was disconnected from the master, under certain conditions, upon reconnect, it would report that it received a packet larger than the
slave_max_allowed_packet
variable. Bug fixed #1135097 (George Ormond Lorch III). - Fixed the upstream bug #62578 which caused MySQL client to abort the connections on terminal resize. Bug fixed #925343 (Sergei Glushchenko).
- Percona Server for MySQL would re-create the test database when using rpm on server upgrade, even if the database was previously removed. Bug fixed #710799 (Alexey Bychko).
- Debian packages included the old version of innotop. Fixed by removing innotop and its
InnoDBParser
Perl package from source and Debian installation. Bug fixed #1032139 (Alexey Bychko). - UDF/configure.ac was incompatible with automake 1.12. Bug fixed #1099387 (Alexey Bychko).
- Reduced the overhead from
innodb_pass_corrupt_table
value checks by optimizing them for better CPU branch prediction. Bug fixed #1125248 (Alexey Kopytov). dialog.so
used by the PAM Authentication Plugin couldn’t be loaded with Perl and Python clients when plugin-dir
option was set in the [client]
section of the my.cnf
. Bug fixed #1155859 (Sergei Glushchenko). - Fixed the upstream bug #68845 which could unnecessarily increase contention on log_sys->mutex in write-intensive workloads. Bug fixed #1163439 (Alexey Kopytov).
- Ported back from the upstream MySQL 5.6 the fix for unnecessary
log_flush_order_mutex
acquisition. Bug fixed #1163262 (Alexey Kopytov). - When mysqldump was used with
--innodb-optimize-keys
and --no-data
options, all secondary key definitions would be lost. Bug fixed #989253 (Alexey Kopytov). - Warning about the Percona Toolkit UDFs was omitted when installing from Percona’s Debian repositories. Bug fixed #1015506 (Alexey Bychko).
- Percona Server for MySQL was missing help texts in the MySQL client because the help tables were missing. Bug fixed #1041981 (Alexey Bychko).
- Fixed the upstream bug #68197 that caused InnoDB to misclassify internal read operations as synchronous when they were actually asynchronous when Thread Pool feature was used. Bug fixed #1107539 (Sergei Glushchenko).
- Suboptimal code for User Statistics feature has been optimized to make sure no additional work is done when userstat is disabled. Bug fixed #1128066 (Alexey Kopytov).
Other bug fixes: bug fixed #1146621 (Laurynas Biveinis), bug fixed #1050536 (Alexey Bychko), bug fixed #1144059 (Roel Van de Paar), bug fixed #1154962 (Hrvoje Matijakovic), bug fixed #1154959 (Hrvoje Matijakovic), bug fixed #1154957 (Hrvoje Matijakovic), bug fixed #1154954 (Hrvoje Matijakovic).
Release notes for Percona Server for MySQL 5.5.30-30.2 are available in our online documentation. Bugs can be reported on the launchpad bug tracker.
UPDATE[18-04-2013]: There was a RPM packaging regression introduced with the fix for bug #710799. This regression only affected clean RPM installations and not upgrades. We have pushed the fixed packages to the repositories. Bug fixed #1170024.
Related
Link to bug #68197 is wrong.
Nice to see the performance improvements.
Good to see jemalloc included – but we can’t find it in the 64 bit RHEL 5 packages?
Great release. Unfortunately latest version in RHEL6 repo is 5.5.29.rel29.4.401.rhel6. I believe it’s the same problem as for Percona Fan.
@Percona Fan, for RPM packages we’ve included the jemalloc package as a separate package with the name ‘jemalloc’. It’s included in our CentOS 5 repo, or it can be got from epel as well.
@alex Vasilenko, I’m unable to reproduce your issue — perhaps you’ve got another repository than main installed? Please check at https://www.percona.com/doc/percona-server/5.5/installation/yum_repo.html that this is the same repo. If it is, then yum clean metadata could help for local image problems. Thanks!
@Ignacio you were right. Percona repo was simply disabled. Next time will be more careful :). Thanks.
Appears that this build added quite a few additional dependencies – old build:
linux-vdso.so.1 => (0x00007fff1832b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003fa7c00000)
libaio.so.1 => /lib64/libaio.so.1 (0x0000003cbee00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003fa7400000)
librt.so.1 => /lib64/librt.so.1 (0x0000003fa8400000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003213e00000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003fa7800000)
libc.so.6 => /lib64/libc.so.6 (0x0000003fa7000000)
/lib64/ld-linux-x86-64.so.2 (0x0000003fa6c00000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003214200000)
New build:
linux-vdso.so.1 => (0x00007fffb9fde000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ad4400000)
libaio.so.1 => /lib64/libaio.so.1 (0x0000003ad3800000)
libm.so.6 => /lib64/libm.so.6 (0x0000003ad5000000)
librt.so.1 => /lib64/librt.so.1 (0x00007f3d5da22000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003ad9000000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003ad4000000)
libssl.so.6 => /lib64/libssl.so.6 (0x0000003a44600000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x0000003a45200000)
libc.so.6 => /lib64/libc.so.6 (0x0000003ad3c00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003ad3400000)
libfreebl3.so => /lib64/libfreebl3.so (0x0000003ad7c00000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003ad7000000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003ad7400000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003ad5c00000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003ad6800000)
libz.so.1 => /lib64/libz.so.1 (0x0000003ad4800000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003ad6c00000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003ad6400000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003ad5800000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003ad5400000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003ad4c00000)
This breaks out of the box compatibility with fedora 17 x86_64 if using the binary tarball since it doesn’t have libcrypto.so.6.
Nathan,
Since the fix for bug https://bugs.launchpad.net/percona-server/+bug/1104977 we’re stopped using bundled YaSSL because it was causing bugs when other software that uses SSL and also links to libmysqlclient.so (for example Postfix) would break. There’s an example of this and explanation at the bug https://bugs.launchpad.net/percona-server/+bug/1028240.
So these new libraries are actually linked from libssl.so, and got added to the libraries linked by our binaries. Unfortunately, Fedora uses newer versions of software so it’s expected that binary compatibility be broken at some point — either by this fix or by other libraries.
I just found that you can meet the libssl.so.6 and libcrypto.so.6 dependencies with the openssl098e package. It is available in the core repo.
Hope that helps.
after upgrade ssl replication doesn’t work anymore:
ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)
same certificates worked fine with 5.5.30, OpenSSL 1.0.0
Sergei –
Please have a look at https://bugs.launchpad.net/percona-server/+bug/1169505
Do we need to install jemalloc first before percona using rpm? Don’t inside the percona rpm package?