Percona Server for MySQL version 5.5.30-30.2

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.

11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Patryk Pomykalski

Link to bug #68197 is wrong.

Nice to see the performance improvements.

Percona Fan

Good to see jemalloc included – but we can’t find it in the 64 bit RHEL 5 packages?

Alex Vasilenko

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.

Ignacio Nin

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.

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!

Alex Vasilenko

@Ignacio you were right. Percona repo was simply disabled. Next time will be more careful :). Thanks.

Nathan Neulinger

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.

Ignacio Nin

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.

Paul Otto

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.

Sergei

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

Laurynas Biveinis
rj03hou

Do we need to install jemalloc first before percona using rpm? Don’t inside the percona rpm package?