About a month ago, we held a bug raffle for Percona Toolkit 2.1.9. The turnout was good and the resulting release is worth upgrading to, especially if you were affected by the backwards-incompatible changes to pt-heartbeat in 2.1.8. Here are the release notes for Percona Toolkit 2.1.9 which highlight the bugs fixed:
Percona Toolkit 2.1.9 has been released. This release primarily aims to restore backwards-
compatibility with pt-heartbeat 2.1.7 and older, but it also has important bug fixes for other tools.
The previous release switched the time authority from Perl to MySQL, and from local time to UTC. Unfortunately, these changes caused a loss of precision and, if mixing versions of pt-heartbeat, made the tool report a huge amount of replication lag. This release makes the tool compatible with pt-heartbeat 2.1.7 and older again, but the UTC behavior introduced in 2.1.8 is now only available by specifying the new –utc option.
* Fixed bug 918056: pt-table-sync false-positive error “Cannot nibble table because MySQL chose no index instead of the PRIMARY index”
This is an important bug fix for pt-table-sync: certain chunks from pt-table-checksum resulted in an impossible WHERE, causing the false-positive “Cannot nibble” error, if those chunks had diffs.
* Fixed bug 1099836: pt-online-
schema- change fails with “Duplicate entry” on MariaDB
MariaDB 5.5.28 (https:/
/kb.askmonty. org/en/ mariadb- 5528-changelog/) fixed a bug: “Added warnings for duplicate key errors when using INSERT IGNORE”. However, standard MySQL does not warn in this case, despite the docs saying that it should. Since pt-online- schema- change has always intended to ignore duplicate entry errors by using “INSERT IGNORE”, it now handles the MariaDB case by also ignoring duplicate entry errors in the code.
* Fixed bug 1103672: pt-online-
schema- change makes bad DELETE trigger if PK is re-created with new columns
schema- change 2.1.9 handles another case of changing the primary key. However, since changing the primary key is tricky, the tool stops if –alter contains “DROP PRIMARY KEY”, and you have to specify –no-check-alter to acknowledge this case.
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
Previously, pt-stalk printed a line for every check. Since the tool is designed to be a long-running daemon, this could result in huge log files with “matched=no” lines. The tool has a new –verbose option which makes it quieter by default.
All users should upgrade, but in particular, users of versions 2.1.7 and older are strongly recommended to skip 2.1.8 and go directly to 2.1.9.
Users of pt-heartbeat in 2.1.8 who prefer the UTC behavior should keep in mind that they will have to use the –utc option after upgrading.