4
v2.2.7 released 2014-02-20
5
==========================
10
v2.2.7 released 2014-02-20
11
==========================
13
Percona Toolkit 2.2.7 has been released. This release has only one bug fixed.
15
* Fixed bug 1279502: --version-check behaves like spyware
17
The configuration for what information PT tools should collect was not hardcoded in the scripts. Instead, every time it's downloaded from http://v.percona.com/. One of the possible parameters was a binary file name to be executed. This was fixed by removing the remote execution.
19
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
21
v2.2.6 released 2013-12-18
22
==========================
24
Percona Toolkit 2.2.6 has been released. This release has 16 bug fixes and a few new features. One bug fix is very important, so 2.2 users are strongly encouraged to upgrade:
26
* Fixed bug 1223458: pt-table-sync deletes child table rows
28
Buried in the pt-table-sync docs is this warning:
30
Also be careful with tables that have foreign key constraints with C<ON DELETE>
31
or C<ON UPDATE> definitions because these might cause unintended changes on the
34
Until recently, either no one had this problem, or no one reported it, or no one realized that pt-table-sync caused it. In the worst case, pt-table-sync could delete all rows in child tables, which is quite surprising and bad. As of 2.2.6, pt-table-sync has option --[no]check-child-tables which is on by default. In cases were this "bug" can happen, pt-table-sync prints a warning and skips the table. Read the option's docs to learn more.
36
Another good bug fix is:
38
* Fixed bug 1217013: pt-duplicate-key-checker misses exact duplicate unique indexes
40
After saying "pt-duplicate-key-checker hasn't had a bug in years" at enough conferences, users proved us wrong--thanks! The tool is better now.
42
* Fixed bug 1195628: pt-online-schema-change gets stuck looking for its own _new table
44
This was poor feedback from the tool more than a bug. There was a point in the tool where it waited forever for slaves to catch up, but it did this silently. Now the tool reports --progress while it's waiting and it reports which slaves, if any, it found and intends to check. In short: its feedback delivers a better user experience.
46
Finally, this bug (more like a feature request/change) might be a backwards-incompatible change:
48
* Fixed bug 1214685: pt-mysql-summary schema dump prompt can't be disabled
50
The change is that pt-mysql-summary no longer prompts to dump and summarize schemas. To do this, you must specify --databases or, a new option, --all-databases. Several users said this behavior was better, so we made the change even though some might consider it a backwards-incompatible change.
52
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
57
* Added pt-query-digest support for Percona Server slow log rate limiting
58
* Added pt-agent --ping
59
* Added pt-mysql-summary --all-databases
60
* Added pt-stalk --sleep-collect
61
* Added pt-table-sync --[no]check-child-tables
62
* Fixed bug 1249150: PTDEBUG prints some info to STDOUT
63
* Fixed bug 1248363: pt-agent requires restart after changing MySQL options
64
* Fixed bug 1248778: pt-agent --install on PXC is not documented
65
* Fixed bug 1250973: pt-agent --install doesn't check for previous install
66
* Fixed bug 1250968: pt-agent --install suggest MySQL user isn't quoted
67
* Fixed bug 1251004: pt-agent --install error about slave is confusing
68
* Fixed bug 1251726: pt-agent --uninstall fails if agent is running
69
* Fixed bug 1248785: pt-agent docs don't list privs required for its MySQL user
70
* Fixed bug 1215016: pt-deadlock-logger docs use pt-fk-error-logger
71
* Fixed bug 1201443: pt-duplicate-key-checker error when EXPLAIN key_len=0
72
* Fixed bug 1217013: pt-duplicate-key-checker misses exact duplicate unique indexes
73
* Fixed bug 1214685: pt-mysql-summary schema dump prompt can't be disabled
74
* Fixed bug 1195628: pt-online-schema-change gets stuck looking for its own _new table
75
* Fixed bug 1249149: pt-query-digest stats prints to STDOUT instead of STDERR
76
* Fixed bug 1071979: pt-stak error parsing df with NFS
77
* Fixed bug 1223458: pt-table-sync deletes child table rows
79
v2.2.5 released 2013-10-16
80
==========================
82
Percona Toolkit 2.2.5 has been released. This release has four new features and a number of bugfixes.
84
Query_time histogram has been added to the pt-query-digest JSON output, not the actual chart but the values necessary to render the chart later, so the values for each bucket.
86
As of pt-table-checksum 2.2.5, skipped chunks cause a non-zero exit status. An exit status of zero or 32 is equivalent to a zero exit status with skipped chunks in previous versions of the tool.
88
New --no-drop-triggers option has been implemented for pt-online-schema-change in case users want to rename the tables manually, when the load is low.
90
New --new-table-name option has been added to pt-online-schema-change which can be used to specify the temporary table name.
92
* Fixed bug #1199589: pt-archiver would delete the data even with the --dry-run option.
94
* Fixed bug #821692: pt-query-digest didn't distill LOAD DATA correctly.
96
* Fixed bug #984053: pt-query-digest didn't distill INSERT/REPLACE without INTO correctly.
98
* Fixed bug #1206677: pt-agent docs were referencing wrong web address.
100
* Fixed bug #1210537: pt-table-checksum --recursion-method=cluster would crash if no nodes were found.
102
Percona Toolkit packages can be downloaded from
103
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
104
Repositories (http://www.percona.com/software/repositories
109
* Added Query_time histogram bucket counts to pt-query-digest JSON output
110
* Added pt-online-schema-change --[no]drop-triggers option
111
* Fixed bug #1199589: pt-archiver deletes data despite --dry-run
112
* Fixed bug #944051: pt-table-checksum has ambiguous exit status
113
* Fixed bug #1209436: pt-kill --log-dsn may not work on Perl 5.8
114
* Fixed bug #1210537: pt-table-checksum --recursion-method=cluster crashes if no nodes are found
115
* Fixed bug #1215608: pt-online-schema-change new table suffix is hard-coded
116
* Fixed bug #1229861: pt-table-sync quotes float values, can't sync
117
* Fixed bug #821692: pt-query-digest doesn't distill LOAD DATA correctly
118
* Fixed bug #984053: pt-query-digest doesn't distill INSERT/REPLACE without INTO correctly
119
* Fixed bug #1206728: pt-deadlock-logger 2.2 requires DSN on command line
120
* Fixed bug #1226721: pt-agent on CentOS 5 fails to send data
121
* Fixed bug #821690: pt-query-digest doesn't distill IF EXISTS correctly
122
* Fixed bug #1206677: pt-agent docs reference clodu.percona.com
124
v2.2.4 released 2013-07-18
125
==========================
127
Percona Toolkit 2.2.4 has been released. This release two new features and a number of bugfixes.
129
pt-query-digest --output json includes query examples as of v2.2.3. Some people might not want this because it exposes real data. New option, --output json-anon, has been implemented. This option will provide the same data without query examples. It's "anonymous" in the sense that there's no identifying data; nothing more than schema and table structs can be inferred from fingerprints.
131
When using drop swap with pt-online-schema-change there is some production impact. This impact can be measured because tool outputs the current timestamp on lines for operations that may take awhile.
133
* Fixed bug #1163735: pt-table-checksum fails if explicit_defaults_for_timestamp is enabled in 5.6
134
pt-table-checksum would fail if variable explicit_defaults_for_timestamp was enabled in MySQL 5.6.
136
* Fixed bug #1182856: Zero values causes "Invalid --set-vars value: var=0"
137
Trying to assign 0 to any variable by using --set-vars option would cause “Invalid --set-vars value” message.
139
* Fixed bug #1188264: pt-online-schema-change error copying rows: Undefined subroutine &pt_online_schema_change::get
140
Fixed the typo in the pt-online-schema-change code that could lead to a tool crash when copying the rows.
142
* Fixed bug #1199591: pt-table-checksum doesn't use non-unique index with highest cardinality
143
pt-table-checksum was using the first non-unique index instead of the one with the highest cardinality due to a sorting bug.
145
Percona Toolkit packages can be downloaded from
146
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
147
Repositories (http://www.percona.com/software/repositories
152
* Added pt-query-digest anonymous JSON output
153
* Added pt-online-schema-change timestamp output
154
* Fixed bug #1136559: pt-table-checksum: Deep recursion on subroutine "SchemaIterator::_iterate_dbh"
155
* Fixed bug #1163735: pt-table-checksum fails if explicit_defaults_for_timestamp is enabled in 5.6
156
* Fixed bug #1182856: Zero values causes "Invalid --set-vars value: var=0"
157
* Fixed bug #1188264: pt-online-schema-change error copying rows: Undefined subroutine &pt_online_schema_change::get
158
* Fixed bug #1195034: pt-deadlock-logger error: Use of uninitialized value $ts in pattern match (m//)
159
* Fixed bug #1199591: pt-table-checksum doesn't use non-unique index with highest cardinality
160
* Fixed bug #1168434: pt-upgrade reports differences on NULL
161
* Fixed bug #1172317: pt-sift does not work if pt-stalk did not collect due to a full disk
162
* Fixed bug #1176010: pt-query-digest doesn't group db and `db` together
163
* Fixed bug #1137556: pt-heartbeat docs don't account for --utc
164
* Fixed bug #1168106: pt-variable-advisor has the wrong default value for innodb_max_dirty_pages_pct in 5.5 and 5.6
165
* Fixed bug #1168110: pt-variable-advisor shows key_buffer_size in 5.6 as unconfigured (even though it is)
166
* Fixed bug #1171968: pt-query-digest docs don't mention --type=rawlog
167
* Fixed bug #1174956: pt-query-digest and pt-fingerprint don't strip some multi-line comments
170
v2.2.3 released 2013-06-17
171
==========================
173
Percona Toolkit 2.2.3 has been released which has only two changes: pt-agent
174
and a bug fix for pt-online-schema-change. pt-agent is not a command line
175
tool but a client-side agent for Percona Cloud Tools. Visit
176
https://cloud.percona.com for more information. The pt-online-schema-change
177
bug fix is bug 1188002: pt-online-schema-change causes "ERROR 1146 (42S02):
178
"Table 'db._t_new' doesn't exist". This happens when the tool's triggers
181
Percona Toolkit packages can be downloaded from
182
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
183
Repositories (http://www.percona.com/software/repositories/).
188
* Added new tool: pt-agent
189
* Fixed bug 1188002: pt-online-schema-change causes "ERROR 1146 (42S02): Table 'db._t_new' doesn't exist"
191
v2.2.2 released 2013-04-24
192
==========================
194
Percona Toolkit 2.2.2 has been released. This is the second release of
195
the 2.2 series and aims to fix bugs in the previous release and provide
196
usability enhacements to the toolkit.
198
Users may note the revival of the --show-all option in pt-query-digest.
199
This had been removed in 2.2.1, but resulted in too much output in
202
A new --recursion-method was added to pt-table-checksum: cluster. This
203
method attempts to auto-discover cluster nodes, alleviating the need to
204
specify cluster node DSNs in a DSN table (--recursion-method=dsn).
206
The following highlights some of the more interesting and "hot" bugs in
209
* Bug #1127450: pt-archiver --bulk-insert may corrupt data
211
pt-archiver --bulk-insert didn't work with --charset UTF-8. This revealed
212
a case where the tool could corrupt data by double-encoding. This is now
213
fixed, but remains relatively dangerous if using DBD::mysql 3.0007 which
214
does not handle UTF-8 properly.
216
* Bug #1163372: pt-heartbeat --utc --check always returns 0
218
Unfortunately, the relatively new --utc option for pt-heart was still
219
broken because "[MySQL] interprets date as a value in the current time zone
220
and converts it to an internal value in UTC." Now the tool works correctly
221
with --utc by specifying "SET time_zone='+0:00'", and older versions of
222
the tool can be made to work by specifying --set-vars "time_zone='+0:00'".
224
* Bug #821502: Some tools don't have --help or --version
226
pt-align, pt-mext, pt-pmp and pt-sift now have both options.
228
This is another solid bug fix release, and all users are encouraged to upgrade.
230
Percona Toolkit packages can be downloaded from
231
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
232
Repositories (http://www.percona.com/software/repositories/).
237
* Added --show-all to pt-query-digest
238
* Added --recursion-method=cluster to pt-table-checksum
239
* Fixed bug 1127450: pt-archiver --bulk-insert may corrupt data
240
* Fixed bug 1163372: pt-heartbeat --utc --check always returns 0
241
* Fixed bug 1156901: pt-query-digest --processlist reports duplicate queries for replication thread
242
* Fixed bug 1160338: pt-query-digest 2.2 prints unwanted debug info on tcpdump parsing errors
243
* Fixed bug 1160918: pt-query-digest 2.2 prints too many string values
244
* Fixed bug 1156867: pt-stalk prints the wrong variable name in verbose mode when --function is used
245
* Fixed bug 1081733: pt-stalk plugins can't access the real --prefix
246
* Fixed bug 1099845: pt-table-checksum pxc same_node function incorrectly uses wsrep_sst_receive_address
247
* Fixed bug 821502: Some tools don't have --help or --version
248
* Fixed bug 947893: Some tools use @@hostname without /*!50038*/
249
* Fixed bug 1082406: An explicitly set wsrep_node_incoming_address may make SHOW STATUS LIKE 'wsrep_incoming_addresses' return a portless address
251
v2.2.1 released 2013-03-14
252
==========================
254
Percona Toolkit 2.2.1 has been released. This is the first release in
255
the new 2.2 series which supersedes the 2.1 series and renders the 2.0
256
series obsolete. We plan to do one more bug fix release for 2.1 (2.1.10),
257
but otherwise all new development and fixes and will now focus on 2.2.
259
Percona Toolkit 2.2 has been several months in the making, and it turned
260
out very well, with many more new features, changes, and improvements than
261
originally anticipated. Here are the highlights:
265
* Official support for MySQL 5.6
267
We started beta support for MySQL 5.6 in 2.1.8 when 5.6 was still beta.
268
Now that 5.6 is GA, so is our support for it. Check out the Percona Toolkit
269
supported platforms and versions:
270
http://www.percona.com/mysql-support/policies/percona-toolkit-supported-platforms-and-versions
272
When you upgrade to MySQL 5.6, be sure to upgrade to Percona Toolkit 2.2, too.
274
* Official support for Percona XtraDB Cluster (PXC)
276
We also started beta support for Percona XtraDB Cluster in 2.1.8, but
277
now that support is official in 2.2 because we have had many months to
278
work with PXC and figure out which tools work with it and how. There's
279
still one noticeable omission: pt-table-sync. It's still unclear if
280
or how one would sync a cluster that, in theory, doesn't become out-of-sync.
281
As Percona XtraDB Cluster develops, Percona Toolkit will continue to
282
evolve to support it.
284
* pt-online-schema-change (pt-osc) is much more resilient
286
pt-online-schema-change 2.1 has been a great success, and people have been
287
using it for evermore difficult and challenging tasks. Consequently, we
288
needed to make it "try harder", even though it already tried pretty hard
289
to keep working despite recoverable errors and such. Whereas pt-osc 2.1
290
only retries certain operations, pt-osc 2.2 retries every critical operation,
291
and its tries and wait time between tries for all operations are configurable.
292
Also, we removed --lock-wait-timeout which set innodb_lock_wait_timeout
293
because that now conflicts, or is at least confused with, lock_wait_timeout
294
(introduced in MySQL 5.5) for metadata locks. Now --set-vars is used to
295
set both of these (or any) system variables. For a quick intro to metadata
296
locks and how they may affect you, see Ovais's article:
297
http://www.mysqlperformanceblog.com/2013/02/01/implications-of-metadata-locking-changes-in-mysql-5-5/
299
What does this all mean? In short: pt-online-schema-change 2.2 is far more
300
resilient out of the box. It's also aware of metadata locks now, whereas
301
2.1 was not really aware of them. And it's highly configurable, so you can
302
make the tool try _very_ hard to keep working.
304
* pt-upgrade is brand-new
306
pt-upgrade was written once long ago, thrown into the world, and then never
307
heard from again... until now. Now that we have four base versions of
308
MySQL (5.0, 5.1, 5.5, and 5.6), plus at least four major forks (Percona
309
Server, MariaDB, Percona XtraDB Cluster, and MariaDB Galera Cluster),
310
upgrades are fashionable, so to speak. Problem is: "original" pt-upgrade
311
was too noisy and too complex. pt-upgrade 2.2 is far simpler and far
312
easier to use. It's basically what you expect from such a tool.
314
Moreover, it has a really helpful new feature: "reference results", i.e.
315
saved results from running queries on a server. Granted, this can take
316
_a lot_ of disk space, but it allows you to "run now, compare later."
318
If you're thinking about upgrading, give pt-upgrade a try. It also reads
319
every type of log now (slow, general, binary, and tcpdump), so you shouldn't
320
have a problem finding queries to run and compare.
322
* pt-query-digest is simpler
324
pt-query-digest 2.2 has fewer options now. Basically, we re-focused it
325
on its primary objective: analyzing MySQL query logs. So the ability
326
to parse memcached, Postgres, Apache, and other logs was removed. We
327
also removed several options that probably nobody ever used, and
328
changed/renamed other options to be more logical. The result is a simpler,
329
more focused tool, i.e. less overwhelming.
331
Also, pt-query-digest 2.2 can save results in JSON format (--output=json).
332
This feature is still in development while we determine the optimal
335
* Version check is on by default
337
Way back in 2.1.4, released September/October 2012, we introduced a feature
338
called "version check" into most tools: http://percona.com/version-check
339
It's like a lot of software that automatically checks for updates, but
340
it's also more: it's a free service from Percona that advises when certain
341
programs (Percona Toolkit tools, MySQL, Perl, etc.) are either out of date
342
or are known bad versions. For example, there are two versions of the
343
DBD::mysql Perl module that have problems. And there are certain versions
344
of MySQL that have critical bugs. Version check will warn you about these
345
if your system is running them.
347
What's new in 2.2 is that, whereas this feature (specifically, the option
348
in tools: --version-check) was off by default, now it's on by default.
349
If the IO::Socket::SSL Perl module is installed (easily available through
350
your package manager), it will use a secure (https) connection over the web,
351
else it will use a standard (http) connection.
353
Check out http://percona.com/version-check for more information.
355
* pt-query-advisor, pt-tcp-model, pt-trend, and pt-log-player are gone
357
We removed pt-query-advisor, pt-tcp-model, pt-trend, and pt-log-player.
358
Granted, no tool is ever really gone: if you need one of these tools,
359
get it from 2.1. pt-log-player is now superseded by Percona Playback
360
(http://www.percona.com/doc/percona-playback/). pt-query-advisor was
361
removed so that we can focus our efforts on its online counterpart instead:
362
https://tools.percona.com/query-advisor. The other tools were special
363
projects that were not widely used.
365
* pt-stalk and pt-mysql-summary have built-in MySQL options
367
No more "pt-stalk -- -h db1 -u me". pt-stalk 2.2 and pt-mysql-summary 2.2
368
have all the standard MySQL options built-in, like other tools: --user,
369
--host, --port, --password, --socket, --defaults-file. So now the command
370
line is what you expect: pt-stalk -h dhb1 -u me.
372
* pt-stalk --no-stalk is no longer magical
374
Originally, pt-stalk --no-stalk was meant to simulate pt-collect, i.e.
375
collect once and exit. To do that, the tool magically set some options
376
and clobbered others, resulting in no way to do repeated collections
377
at intervals. Now --no-stalk means only that: don't stalk, just collect,
378
respecting --interval and --iterations as usual. So to collect once
379
and exit: pt-stalk --no-stalk --iterations 1.
381
* pt-fk-error-logger and pt-deadlock-logger are standardized
383
Similar to the pt-stalk --no-stalk changes, pt-fk-error-logger and
384
pt-deadlock-logger received mini overhauls in 2.2 to make their
385
run-related options (--run-time, --interval, --iterations) standard.
386
If you hadn't noticed, one tool would run forever by default, while
387
the other would run once and exit. And each treated their run-related
388
options a little differently. This magic is gone now: both tools run
389
forever by default, so specify --iterations or --run-time to limit how
394
There were other miscellaneous bug fixes, too. See
395
https://launchpad.net/percona-toolkit/+milestone/2.2.1 for the full list.
397
As the first release in a new series, 2.2 features are not yet finalized.
398
In other words, we may change things like the pt-query-digest --output json
399
format in future releases after receiving real-world feedback.
401
Percona Toolkit 2.2 is an exciting release with many helpful new
402
features. Users are encouraged to begin upgrading, particularly given
403
that, except for the forthcoming 2.1.10 release, no more work will be
404
done on 2.1 (unless you're a Percona customer with a support contract or
407
If you upgrade from 2.1 to 2.2, be sure to re-read tools' documentation
408
to see what has changed because much as changed for certain tools.
410
Percona Toolkit packages can be downloaded from
411
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
412
Repositories (http://www.percona.com/software/repositories/).
417
* Official support for MySQL 5.6
418
* Official support for Percona XtraDB Cluster
419
* Redesigned pt-query-digest
420
* Redesigned pt-upgrade
421
* Redesigned pt-fk-error-logger
422
* Redesigned pt-deadlock-logger
423
* Changed --set-vars in all tools
424
* Renamed --retries to --tries in pt-online-schema-change
425
* Added --check-read-only to pt-heartbeat
426
* Added MySQL options to pt-mysql-summary
427
* Added MySQL options to pt-stalk
428
* Removed --lock-wait-timeout from pt-online-schema-change (use --set-vars)
429
* Removed --lock-wait-timeout from pt-table-checksum (use --set-vars)
430
* Removed pt-query-advisor
431
* Removed pt-tcp-model
433
* Removed pt-log-player
434
* Enabled --version-check by default in all tools
435
* Fixed bug 1008796: Several tools don't have --database
436
* Fixed bug 1087319: Quoter::serialize_list() doesn't handle multiple NULL values
437
* Fixed bug 1086018: pt-config-diff needs to parse wsrep_provider_options
438
* Fixed bug 1056838: pt-fk-error-logger --run-time works differently than pt-deadlock-logger --run-time
439
* Fixed bug 1093016: pt-online-schema-change doesn't retry RENAME TABLE
440
* Fixed bug 1113301: pt-online-schema-change blocks on metadata locks
441
* Fixed bug 1125665: pt-stalk --no-stalk silently clobbers other options, acts magically
442
* Fixed bug 1019648: pt-stalk truncates InnoDB status if there are too many transactions
443
* Fixed bug 1087804: pt-table-checksum doesn't warn if no slaves are found
445
v2.1.9 released 2013-02-14
446
==========================
448
Percona Toolkit 2.1.9 has been released. This release primarily aims to
449
restore backwards-compatibility with pt-heartbeat 2.1.7 and older, but it
450
also has important bug fixes for other tools.
452
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
453
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
455
The previous release switched the time authority from Perl to MySQL, and from
456
local time to UTC. Unfortunately, these changes caused a loss of precision and,
457
if mixing versions of pt-heartbeat, made the tool report a huge amount of
458
replication lag. This release makes the tool compatible with pt-heartbeat
459
2.1.7 and older again, but the UTC behavior introduced in 2.1.8 is now only
460
available by specifying the new --utc option.
462
* Fixed bug 918056: pt-table-sync false-positive error "Cannot nibble table because MySQL chose no index instead of the PRIMARY index"
464
This is an important bug fix for pt-table-sync: certain chunks from
465
pt-table-checksum resulted in an impossible WHERE, causing the false-positive
466
"Cannot nibble" error, if those chunks had diffs.
468
* Fixed bug 1099836: pt-online-schema-change fails with "Duplicate entry" on MariaDB
470
MariaDB 5.5.28 (https://kb.askmonty.org/en/mariadb-5528-changelog/) fixed
471
a bug: "Added warnings for duplicate key errors when using INSERT IGNORE".
472
However, standard MySQL does not warn in this case, despite the docs saying
473
that it should. Since pt-online-schema-change has always intended to ignore
474
duplicate entry errors by using "INSERT IGNORE", it now handles the MariaDB
475
case by also ignoring duplicate entry errors in the code.
477
* Fixed bug 1103672: pt-online-schema-change makes bad DELETE trigger if PK is re-created with new columns
479
pt-online-schema-change 2.1.9 handles another case of changing the primary key.
480
However, since changing the primary key is tricky, the tool stops if --alter
481
contains "DROP PRIMARY KEY", and you have to specify --no-check-alter to
482
acknowledge this case.
484
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
486
Previously, pt-stalk printed a line for every check. Since the tool is
487
designed to be a long-running daemon, this could result in huge log files
488
with "matched=no" lines. The tool has a new --verbose option which makes it
491
All users should upgrade, but in particular, users of versions 2.1.7 and
492
older are strongly recommended to skip 2.1.8 and go directly to 2.1.9.
494
Users of pt-heartbeat in 2.1.8 who prefer the UTC behavior should keep in
495
mind that they will have to use the --utc option after upgrading.
497
Percona Toolkit packages can be downloaded from
498
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
499
Repositories (http://www.percona.com/software/repositories/).
504
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
505
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
506
* Fixed bug 1099836: pt-online-schema-change fails with "Duplicate entry" on MariaDB
507
* Fixed bug 1103672: pt-online-schema-change makes bad DELETE trigger if PK is re-created with new columns
508
* Fixed bug 1115333: pt-pmp doesn't list the origin lib for each function
509
* Fixed bug 823411: pt-query-digest shouldn't print "Error: none" for tcpdump
510
* Fixed bug 1103045: pt-query-digest fails to parse non-SQL errors
511
* Fixed bug 1105077: pt-table-checksum: Confusing error message with binlog_format ROW or MIXED on slave
512
* Fixed bug 918056: pt-table-sync false-positive error "Cannot nibble table because MySQL chose no index instead of the PRIMARY index"
513
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
515
v2.1.8 released 2012-12-21
516
==========================
518
Percona Toolkit 2.1.8 has been released. This release includes 28 bug fixes, beta support for MySQL 5.6, and extensive support for Percona XtraDB Cluster (PXC). Users intending on running the tools on Percona XtraDB Cluster or MySQL 5.6 should upgrade. The following tools have been verified to work on PXC versions 5.5.28 and newer:
521
* pt-online-schema-change
525
* pt-variable-advisor
529
However, there are limitations when running these tools on PXC; see the Percona XtraDB Cluster section in each tool's documentation for further details. All other tools, with the exception of pt-slave-find, pt-slave-delay and pt-slave-restart, should also work correctly, but in some cases they have not been modified to take advantage of PXC features, so they may behave differently in future releases.
531
The bug fixes are widely assorted. The following highlights some of the more interesting and "hot" bugs:
533
* Fixed bug 1082599: pt-query-digest fails to parse timestamp with no query
535
Slow logs which include timestamps but no query--which can happen if using slow_query_log_timestamp_always in Percona Server--were misparsed, resulting in an erroneous report. Now such no-query events show up in reports as ``/* No query */``.
537
* Fixed bug 1078838: pt-query-digest doesn't parse general log with "Connect user as user"
539
The "as" was misparsed and the following word would end up reported as the database; pt-query-digest now handles this correctly.
541
* Fixed bug 1015590: pt-mysql-summary doesn't handle renamed variables in Percona Server 5.5
543
Some renamed variables had caused the Percona Server section to work unreliably.
545
* Fixed bug 1074179: pt-table-checksum doesn't ignore tables for --replicate-check-only
547
When using --replicate-check-only, filter options like --databases and --tables were not applied.
549
* Fixed bug 886059: pt-heartbeat handles timezones inconsistently
551
Previously, pt-heartbeat respected the MySQL time zone, but this caused false readings (e.g. very high lag) with slaves running in different time zones. Now pt-heartbeat uses UTC regardless of the server or MySQL time zone.
553
* Fixed bug 1079341: pt-online-schema-change checks for foreign keys on MyISAM tables
555
Since MyISAM tables can't have foreign keys, and the tool uses the information_schema to find child tables, this could cause unnecessary load on the server.
557
2.1.8 continues the trend of solid bug fix releases, and all 2.1 users are encouraged to upgrade.
559
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
564
* Beta support for MySQL 5.6
565
* Beta support for Percona XtraDB Cluster
566
* pt-online-schema-change: If ran on Percona XtraDB Cluster, requires PXC 5.5.28 or newer
567
* pt-table-checksum: If ran on Percona XtraDB Cluster, requires PXC 5.5.28 or newer
568
* pt-upgrade: Added --[no]disable-query-cache
569
* Fixed bug 927955: Bad pod2rst transformation
570
* Fixed bug 898665: Bad online docs formatting for --[no]vars
571
* Fixed bug 1022622: pt-config-diff is case-sensitive
572
* Fixed bug 1007938: pt-config-diff doesn't handle end-of-line comments
573
* Fixed bug 917770: pt-config-diff Use of uninitialized value in substitution (s///) at line 1996
574
* Fixed bug 1082104: pt-deadlock-logger doesn't handle usernames with dashes
575
* Fixed bug 886059: pt-heartbeat handles timezones inconsistently
576
* Fixed bug 1086259: pt-kill --log-dsn timestamp is wrong
577
* Fixed bug 1015590: pt-mysql-summary doesn't handle renamed variables in Percona Server 5.5
578
* Fixed bug 1079341: pt-online-schema-change checks for foreign keys on MyISAM tables
579
* Fixed bug 823431: pt-query-advisor hangs on big queries
580
* Fixed bug 996069: pt-query-advisor RES.001 is incorrect
581
* Fixed bug 933465: pt-query-advisor false positive on RES.001
582
* Fixed bug 937234: pt-query-advisor issues wrong RES.001
583
* Fixed bug 1082599: pt-query-digest fails to parse timestamp with no query
584
* Fixed bug 1078838: pt-query-digest doesn't parse general log with "Connect user as user"
585
* Fixed bug 957442: pt-query-digest with custom --group-by throws error
586
* Fixed bug 887638: pt-query-digest prints negative byte offset
587
* Fixed bug 831525: pt-query-digest help output mangled
588
* Fixed bug 932614: pt-slave-restart CHANGE MASTER query causes error
589
* Fixed bug 1046440: pt-stalk purge_samples slows down checks
590
* Fixed bug 986847: pt-stalk does not report NFS iostat
591
* Fixed bug 1074179: pt-table-checksum doesn't ignore tables for --replicate-check-only
592
* Fixed bug 911385: pt-table-checksum v2 fails when --resume + --ignore-database is used
593
* Fixed bug 1041391: pt-table-checksum debug statement for "Chosen hash func" prints undef
594
* Fixed bug 1075638: pt-table-checksum Illegal division by zero at line 7950
595
* Fixed bug 1052475: pt-table-checksum uninitialized value in numeric lt (<) at line 8611
596
* Fixed bug 1078887: Tools let --set-vars clobber the required SQL mode
598
v2.1.7 released 2012-11-19
599
==========================
601
Percona Toolkit 2.1.7 has been released which is a hotfix for two bugs when using pt-table-checksum with Percona XtraDB Cluster:
603
* Bug 1080384: pt-table-checksum 2.1.6 crashes using PTDEBUG
604
* Bug 1080385: pt-table-checksum 2.1.6 --check-binlog-format doesn't ignore PXC nodes
606
If you're using pt-table-checksum with a Percona XtraDB Cluster, you should upgrade. Otherwise, users can wait until the next full release.
608
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
613
* Fixed bug 1080384: pt-table-checksum 2.1.6 crashes using PTDEBUG
614
* Fixed bug 1080385: pt-table-checksum 2.1.6 --check-binlog-format doesn't ignore PXC nodes
616
v2.1.6 released 2012-11-13
617
==========================
619
Percona Toolkit 2.1.6 has been released. This release includes 33 bug fixes and three new features: pt-online-schema-change now handles renaming columns without losing data, removing one of the tool's limitations. pt-online-schema-change also got two new options: --default-engine and --statistics. Finally, pt-stalk now has a plugin hook interface, available through the --plugin option. The bug fixes are widely assorted. The following highlights some of the more interesting and "hot" bugs:
621
* Bug 978133: pt-query-digest review table privilege checks don't work
623
The same checks were removed from pt-table-checksum on 2.1.3 and pt-table-sync on 2.1.4, so this just follows suit.
625
* Bug 938068: pt-table-checksum doesn't warn if binlog_format=row or mixed on slaves
627
A particularly important fix, as it may stop pt-table-checksum from breaking replication in these setups.
629
* Bug 1043438: pt-table-checksum doesn't honor --run-time while checking replication lag
631
If you run multiple instances of pt-table-checksum on a badly lagged server, actually respecting --run-time stops the instances from divebombing the server when the replica catches up.
633
* Bug 1062324: pt-online-schema-change DELETE trigger fails when altering primary key
635
Fixed by choosing a key on the new table for the DELETE trigger.
637
* Bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes
639
A follow up to the same fix in the previous release, this adds to warnings for cases in which pt-table-checksum may work incorrectly and require some user intervention: One for the case of master -> cluster, and one for cluster1 -> cluster2.
641
* Bug 821715: LOAD DATA LOCAL INFILE broken in some platforms
643
This bug has hounded the toolkit for quite some time. In some platforms, trying to use LOAD DATA LOCAL INFILE would fail as if the user didn't have enough privileges to perform the operation. This was a misdiagnoses from MySQL; The actual problem was that the libmysqlclient.so provided by some vendors was compiled in a way that disallowed users from using the statement without some extra work. This fix adds an 'L' option to the DSNs the toolkit uses, tells the the tools to explicitly enables LOAD DATA LOCAL INFILE. This affected two pt-archiver and pt-upgrade, so if you are on an effected OS and need to use those, you can simply tag an L=1 to your DSN and everything should start working.
645
* Bug 866075: pt-show-grant doesn't support column-level grants
647
This was actually the 'hottest' bug in the tracker.
649
This is another solid bug fix release, and all 2.1 users are encouraged to upgrade.
651
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
656
* pt-online-schema-change: Columns can now be renamed without data loss
657
* pt-online-schema-change: New --default-engine option
658
* pt-stalk: Plugin hooks available through the --plugin option to extend the tool's functionality
659
* Fixed bug 1069951: --version-check default should be explicitly "off"
660
* Fixed bug 821715: LOAD DATA LOCAL INFILE broken in some platforms
661
* Fixed bug 995896: Useless use of cat in Daemon.pm
662
* Fixed bug 1039074: Tools exit 0 on error parsing options, should exit non-zero
663
* Fixed bug 938068: pt-table-checksum doesn't warn if binlog_format=row or mixed on slaves
664
* Fixed bug 1009510: pt-table-checksum breaks replication if a slave table is missing or different
665
* Fixed bug 1043438: pt-table-checksum doesn't honor --run-time while checking replication lag
666
* Fixed bug 1073532: pt-table-checksum error: Use of uninitialized value in int at line 2778
667
* Fixed bug 1016131: pt-table-checksum can crash with --columns if none match
668
* Fixed bug 1039569: pt-table-checksum dies if creating the --replicate table fails
669
* Fixed bug 1059732: pt-table-checksum doesn't test all hash functions
670
* Fixed bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes
671
* Fixed bug 1043528: pt-deadlock-logger can't parse db/tbl/index on partitioned tables
672
* Fixed bug 1062324: pt-online-schema-change DELETE trigger fails when altering primary key
673
* Fixed bug 1058285: pt-online-schema-change fails if sql_mode explicitly or implicitly uses ANSI_QUOTES
674
* Fixed bug 1073996: pt-online-schema-change fails with "I need a max_rows argument"
675
* Fixed bug 1039541: pt-online-schema-change --quiet doesn't disable --progress
676
* Fixed bug 1045317: pt-online-schema-change doesn't report how many warnings it suppressed
677
* Fixed bug 1060774: pt-upgrade fails if select column > 64 chars
678
* Fixed bug 1070916: pt-mysql-summary may report the wrong cnf file
679
* Fixed bug 903229: pt-mysql-summary incorrectly categorizes databases
680
* Fixed bug 866075: pt-show-grant doesn't support column-level grants
681
* Fixed bug 978133: pt-query-digest review table privilege checks don't work
682
* Fixed bug 956981: pt-query-digest docs for event attributes link to defunct Maatkit wiki
683
* Fixed bug 1047335: pt-duplicate-key-checker fails when it encounters a crashed table
684
* Fixed bug 1047701: pt-stalk deletes non-empty files
685
* Fixed bug 1070434: pt-stalk --no-stalk and --iterations 1 don't wait for the collect
686
* Fixed bug 1052722: pt-fifo-split is processing n-1 rows initially
687
* Fixed bug 1013407: pt-find documentation error with mtime and InnoDB
688
* Fixed bug 1059757: pt-trend output has no header
689
* Fixed bug 1063933: pt-visual-explain docs link to missing pdf
690
* Fixed bug 1075773: pt-fk-error-logger crashes if there's no foreign key error
691
* Fixed bug 1075775: pt-fk-error-logger --dest table example doesn't work
693
v2.1.5 released 2012-10-08
694
==========================
696
Percona Toolkit 2.1.5 has been released. This release is less than two weeks after the release of 2.1.4 because we wanted to address these bugs quickly:
698
* Bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes
700
* Bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes
702
* Bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL
704
The first two bugs fix how pt-table-checksum works with Percona XtraDB Cluster (PXC). Although the 2.1.4 release did introduce support for PXC, these bugs prevented pt-table-checksum from working correctly with a cluster.
706
The third bug is also related to a feature new in 2.1.4: --version-check. The feature uses HTTPS/SSL by default, but some modules in pt-table-sync weren't update which could prevent it from working on older systems. Related, the version check web page mentioned in tools' documentation was also created.
708
If you're using pt-table-checksum with a Percona XtraDB Cluster, you should definitely upgrade. Otherwise, users can wait until 2.1.6 for another full release.
710
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
715
* Fixed bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes
716
* Fixed bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes
717
* Fixed bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL
718
* Fixed bug 1060423: Missing version-check page
720
v2.1.4 released 2012-09-20
721
==========================
723
Percona Toolkit 2.1.4 has been released. This release includes 26 bug fixes and three new features: Making pt-table-checksum work with Percona XtraDB Cluster, adding a --run-time option to pt-table-checksum, and implementing the "Version Check" feature, enabled through the --version-check switch. For further information on --version-check, see http://www.mysqlperformanceblog.com/2012/09/10/introducing-the-version-check-feature-in-percona-toolkit/. The bug fixes are widely assorted. The following highlights some of the more interesting and "hot" bugs:
725
* Fixed bug 1017626: pt-table-checksum doesn't work with Percona XtraDB Cluster
727
Note that this requires Percona XtraDB Cluster 5.5.27-23.6 or newer, as the fix depends on this bug https://bugs.launchpad.net/codership-mysql/+bug/1023911 being resolved.
729
* Fixed bug 1034170: pt-table-checksum --defaults-file isn't used for slaves
731
Previously, users had no recourse but using --recursion-method in conjunction with a dsn table to sidestep this bug, so this fix is a huge usability gain. This was caused by the toolkit not copying the -F portion of the main dsn.
733
* Fixed bug 1039184: pt-upgrade error "I need a right_sth argument"
735
Which were stopping pt-upgrade from working on a MySQL 4.1 host.
737
* Fixed bug 1036747: pt-table-sync priv checks need to be removed
739
The same checks were removed in the previous release from pt-table-checksum, so this continues the trend.
741
* Fixed bug 1038995: pt-stalk --notify-by-email fails
743
This was a bug in our shell option parsing library, and would potentially affect any option starting with 'no'.
745
Like 2.1.3, this is another solid bug fix release, and 2.1 users are encouraged to upgrade.
747
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
752
* pt-table-checksum: Percona XtraDB Cluster support
753
* pt-table-checksum: Implemented the standard --run-time option
754
* Implemented the version-check feature in several tools, enabled with the --version-check option
755
* Fixed bug 856060: Document gdb dependency
756
* Fixed bug 1041394: Unquoted arguments to tr break the bash tools
757
* Fixed bug 1035311: pt-diskstats shows wrong device names
758
* Fixed bug 1036804: pt-duplicate-key-checker error parsing InnoDB table with no PK or unique keys
759
* Fixed bug 1022658: pt-online-schema-change dropping FK limitation isn't documented
760
* Fixed bug 1041372: pt-online-schema-changes fails if db+tbl name exceeds 64 characters
761
* Fixed bug 1029178: pt-query-digest --type tcpdump memory usage keeps increasing
762
* Fixed bug 1037211: pt-query-digest won't distill LOCK TABLES in lowercase
763
* Fixed bug 942114: pt-stalk warns about bad "find" usage
764
* Fixed bug 1035319: pt-stalk df -h throws away needed details
765
* Fixed bug 1038995: pt-stalk --notify-by-email fails
766
* Fixed bug 1038995: pt-stalk does not get all InnoDB lock data
767
* Fixed bug 952722: pt-summary should show information about Fusion-io cards
768
* Fixed bug 899415: pt-table-checksum doesn't work if slaves use RBR
769
* Fixed bug 954588: pt-table-checksum --check-slave-lag docs aren't clear
770
* Fixed bug 1034170: pt-table-checksum --defaults-file isn't used for slaves
771
* Fixed bug 930693: pt-table-sync and text columns with just whitespace
772
* Fixed bug 1028710: pt-table-sync base_count fails on n = 1000, base = 10
773
* Fixed bug 1034717: pt-table-sync division by zero error with varchar primary key
774
* Fixed bug 1036747: pt-table-sync priv checks need to be removed
775
* Fixed bug 1039184: pt-upgrade error "I need a right_sth argument"
776
* Fixed bug 1035260: sh warnings in pt-summary and pt-mysql-summary
777
* Fixed bug 1038276: ChangeHandler doesn't quote varchar columns with hex-looking values
778
* Fixed bug 916925: CentOS 5 yum dependency resolution for perl module is wrong
779
* Fixed bug 1035950: Percona Toolkit RPM should contain a dependency on perl-Time-HiRes
781
v2.1.3 released 2012-08-03
782
==========================
784
Percona Toolkit 2.1.3 has been released. This release includes 31 bug fixes and one new feature: pt-kill --log-dsn to log information about killed queries to a table. The bug fixes are widely assorted. The following highlights some of the more interesting and "hot" bugs:
786
* Fixed bug 916168: pt-table-checksum privilege check fails on MySQL 5.5
788
pt-table-checksum used to check the user's privileges, but the method was not always reliable, and due to http://bugs.mysql.com/bug.php?id=61846 it became quite unreliable on MySQL 5.5. So the privs check was removed altogether, meaning that the tool may fail later if the user's privileges are insufficient.
790
* Fixed bug 950294: pt-table-checksum should always create schema and tables with IF NOT EXISTS
792
In certain cases where the master and replicas have different schemas and/or tables, pt-table-checksum could break replication because the checksums table did not exist on a replica.
794
* Fixed bug 821703: pt-query-digest --processlist may crash
795
* Fixed bug 883098: pt-query-digest crashes if processlist has extra columns
797
Certain distributions of MySQL add extra columns to SHOW PROCESSLIST which caused pt-query-digest --processlist to crash at times.
799
* Fixed bug 941469: pt-kill doesn't reconnect if its connection is lost
801
pt-kill is meant to be a long-running daemon, so naturally it's important that it stays connected to MySQL.
803
* Fixed bug 1004567: pt-heartbeat --update --replace causes duplicate key error
805
The combination of these pt-heartbeat options could cause replication to break due to a duplicate key error.
807
* Fixed bug 1022628: pt-online-schema-change error: Use of uninitialized value in numeric lt (<) at line 6519
809
This bug was related to how --quiet was handled, and it could happen even if --quiet wasn't given on the command line.
811
All in all, this is solid bug fix release, and 2.1 users are encouraged to upgrade.
813
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
818
* pt-kill: Implemented --log-dsn to log info about killed queries to a table
819
* Fixed bug 1016127: Install hint for DBD::mysql is wrong
820
* Fixed bug 984915: DSNParser does not check success of --set-vars
821
* Fixed bug 889739: pt-config-diff doesn't diff quoted strings properly
822
* Fixed bug 969669: pt-duplicate-key-checker --key-types=k doesn't work
823
* Fixed bug 1004567: pt-heartbeat --update --replace causes duplicate key error
824
* Fixed bug 1028614: pt-index-usage ignores --database
825
* Fixed bug 940733: pt-ioprofile leaves behind temp directory
826
* Fixed bug 941469: pt-kill doesn't reconnect if its connection is lost
827
* Fixed bug 1016114: pt-online-schema-change docs don't mention default values
828
* Fixed bug 1020997: pt-online-schema-change fails when table is empty
829
* Fixed bug 1022628: pt-online-schema-change error: Use of uninitialized value in numeric lt (<) at line 6519
830
* Fixed bug 937225: pt-query-advisor OUTER JOIN advice in JOI.003 is confusing
831
* Fixed bug 821703: pt-query-digest --processlist may crash
832
* Fixed bug 883098: pt-query-digest crashes if processlist has extra columns
833
* Fixed bug 924950: pt-query-digest --group-by db may crash profile report
834
* Fixed bug 1022851: pt-sift error: PREFIX: unbound variable
835
* Fixed bug 969703: pt-sift defaults to '.' instead of '/var/lib/pt-talk'
836
* Fixed bug 962330: pt-slave-delay incorrectly computes lag if started when slave is already lagging
837
* Fixed bug 954990: pt-stalk --nostalk does not work
838
* Fixed bug 977226: pt-summary doesn't detect LSI RAID control
839
* Fixed bug 1030031: pt-table-checksum reports wrong number of DIFFS
840
* Fixed bug 916168: pt-table-checksum privilege check fails on MySQL 5.5
841
* Fixed bug 950294: pt-table-checksum should always create schema and tables with IF NOT EXISTS
842
* Fixed bug 953141: pt-table-checksum ignores its default and explicit --recursion-method
843
* Fixed bug 1030975: pt-table-sync crashes if sql_mode includes ANSI_QUOTES
844
* Fixed bug 869005: pt-table-sync should always set REPEATABLE READ
845
* Fixed bug 903510: pt-tcp-model crashes in --type=requests mode on empty file
846
* Fixed bug 934310: pt-tcp-model --quantile docs wrong
847
* Fixed bug 980318: pt-upgrade results truncated if hostnames are long
848
* Fixed bug 821696: pt-variable-advisor shows too long of a snippet
849
* Fixed bug 844880: pt-variable-advisor shows binary logging as both enabled and disabled
851
v2.1.2 released 2012-06-12
852
==========================
854
Percona Toolkit 2.1.2 has been released. This is a very important release because it fixes a critical bug in pt-table-sync (bug 1003014) which caused various failures. All users of Percona Toolkit 2.1 should upgrade to this release. There were 47 other bug fixes, several new options, and other changes. The following is a high-level summary of the most important changes.
856
In addition to the critical bug fix mentioned above, another important pt-table-sync bug was fixed, bug 1002365: --ignore-* options did not work with --replicate. The --lock-and-rename feature of the tool was also disabled unless running MySQL 5.5 or newer because it did not work reliably in earlier versions of MySQL.
858
Several important pt-table-checksum bugs were fixed. First, a bug caused the tool to ignore the primary key. Second, the tool did not wait for the checksum table to replicate, so it could select from a nonexistent table on a replica and crash. Third, it did not check if all checksum queries were safe and chunk index with more than 3 columns could cause MySQL to scan many more rows than expected.
860
pt-online-schema-change received many improvements and fixes: it did not retry deadlocks, but now it does; --no-swap-tables caused an error; it did not handle column renames; it did not allow disabling foreign key checks; --dry-run always failed on tables with foreign keys; it used different keys for chunking and triggers; etc. In short: pt-online-schema-change 2.1.2 is superior to 2.1.1.
862
Two pt-archiver bugs were fixed: bug 979092, --sleep conflicts with bulk operations; and bug 903379, --file doesn't create a file.
864
--recursion-method=none was implemented in pt-heartbeat, pt-online-schema-change, pt-slave-find, pt-slave-restart, pt-table-checksum, and pt-table-sync. This allows these tools to avoid executing SHOW SLAVE STATUS which requires a privilege not available to Amazon RDS users.
866
Other bugs were fixed in pt-stalk, pt-variable-advisor, pt-duplicate-key-checker, pt-diskstats, pt-query-digest, pt-sift, pt-kill, pt-summary, and pt-deadlock-logger.
868
Percona Toolkit 2.1.2 should be backwards-compatible with 2.1.1, so users are strongly encouraged to upgrade.
870
Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/).
875
* pt-heartbeat: Implemented --recursion-method=none
876
* pt-index-usage: MySQL 5.5 compatibility fixes
877
* pt-log-player: MySQL 5.5 compatibility fixes
878
* pt-online-schema-change: Added --chunk-index-columns
879
* pt-online-schema-change: Added --[no]check-plan
880
* pt-online-schema-change: Added --[no]drop-new-table
881
* pt-online-schema-change: Implemented --recursion-method=none
882
* pt-query-advisor: Added --report-type for JSON output
883
* pt-query-digest: Removed --[no]zero-bool
884
* pt-slave-delay: Added --database
885
* pt-slave-find: Implemented --recursion-method=none
886
* pt-slave-restart: Implemented --recursion-method=none
887
* pt-table-checksum: Added --chunk-index-columns
888
* pt-table-checksum: Added --[no]check-plan
889
* pt-table-checksum: Implemented --recursion-method=none
890
* pt-table-sync: Disabled --lock-and-rename except for MySQL 5.5 and newer
891
* pt-table-sync: Implemented --recursion-method=none
892
* Fixed bug 945079: Shell tools TMPDIR may break
893
* Fixed bug 912902: Some shell tools still use basename
894
* Fixed bug 987694: There is no --recursion-method=none option
895
* Fixed bug 886077: Passwords with commas don't work, expose part of password
896
* Fixed bug 856024: Lintian warnings when building percona-toolkit Debian package
897
* Fixed bug 903379: pt-archiver --file doesn't create a file
898
* Fixed bug 979092: pt-archiver --sleep conflicts with bulk operations
899
* Fixed bug 903443: pt-deadlock-logger crashes on MySQL 5.5
900
* Fixed bug 941064: pt-deadlock-logger can't clear deadlocks on 5.5
901
* Fixed bug 952727: pt-diskstats shows incorrect wr_mb_s
902
* Fixed bug 994176: pt-diskstats --group-by=all --headers=scroll prints a header for every sample
903
* Fixed bug 894140: pt-duplicate-key-checker sometimes recreates a key it shouldn't
904
* Fixed bug 923896: pt-kill: uninitialized value causes script to exit
905
* Fixed bug 1003003: pt-online-schema-change uses different keys for chunking and triggers
906
* Fixed bug 1003315: pt-online-schema-change --dry-run always fails on table with foreign keys
907
* Fixed bug 1004551: pt-online-schema-change --no-swap-tables causes error
908
* Fixed bug 976108: pt-online-schema-change doesn't allow to disable foreign key checks
909
* Fixed bug 976109: pt-online-schema-change doesn't handle column renames
910
* Fixed bug 988036: pt-online-schema-change causes deadlocks under heavy write load
911
* Fixed bug 989227: pt-online-schema-change crashes with PTDEBUG
912
* Fixed bug 994002: pt-online-schema-change 2.1.1 doesn't choose the PRIMARY KEY
913
* Fixed bug 994010: pt-online-schema-change 2.1.1 crashes without InnoDB
914
* Fixed bug 996915: pt-online-schema-change crashes with invalid --max-load and --critical-load
915
* Fixed bug 998831: pt-online-schema-change -- Should have an option to NOT drop tables on failure
916
* Fixed bug 1002448: pt-online-schema-change: typo for finding usable indexes
917
* Fixed bug 885382: pt-query-digest --embedded-attributes doesn't check cardinality
918
* Fixed bug 888114: pt-query-digest report crashes with infinite loop
919
* Fixed bug 949630: pt-query-digest mentions a Subversion repository
920
* Fixed bug 844034: pt-show-grants --separate fails with proxy user
921
* Fixed bug 946707: pt-sift loses STDIN after pt-diskstats
922
* Fixed bug 994947: pt-stalk doesn't reset cycles_true after collection
923
* Fixed bug 986151: pt-stalk-has mktemp error
924
* Fixed bug 993436: pt-summary Memory: Total reports M instead of G
925
* Fixed bug 1008778: pt-table-checksum doesn't wait for checksum table to replicate
926
* Fixed bug 1010232: pt-table-checksum doesn't check the size of checksum chunks
927
* Fixed bug 1011738: pt-table-checksum SKIPPED is zero but chunks were skipped
928
* Fixed bug 919499: pt-table-checksum fails with binary log error in mysql >= 5.5.18
929
* Fixed bug 972399: pt-table-checksum docs are not rendered right
930
* Fixed bug 978432: pt-table-checksum ignoring primary key
931
* Fixed bug 995274: pt-table-checksum can't use an undefined value as an ARRAY reference at line 2206
932
* Fixed bug 996110: pt-table-checksum crashes if InnoDB is disabled
933
* Fixed bug 987393: pt-table-checksum: Empy tables cause "undefined value as an ARRAY" errors
934
* Fixed bug 1002365: pt-table-sync --ignore-* options don't work with --replicate
935
* Fixed bug 1003014: pt-table-sync --replicate and --sync-to-master error "index does not exist"
936
* Fixed bug 823403: pt-table-sync --lock-and-rename doesn't work on 5.1
937
* Fixed bug 898138: pt-variable-advisor doesn't recognize 5.5.3+ concurrent_insert values
939
v2.1.1 released 2012-04-03
940
==========================
942
Percona Toolkit 2.1.1 has been released. This is the first release in the
943
new 2.1 series which supersedes the 2.0 series. We will continue to fix bugs
944
in 2.0, but 2.1 is now the focus of development.
946
2.1 introduces a lot of new code for:
948
* pt-online-schema-change (completely redesigned)
949
* pt-mysql-summary (completely redesigned)
950
* pt-summary (completely redesigned)
951
* pt-fingerprint (new tool)
952
* pt-table-usage (new tool)
954
There were also several bug fixes.
956
The redesigned tools are meant to replace their 2.0 counterparts because
957
the 2.1 versions have the same or more functionality and they are simpler
958
and more reliable. pt-online-schema-change was particularly enhanced to
959
be as safe as possible given that the tool is inherently risky.
961
Percona Toolkit packages can be downloaded from
962
http://www.percona.com/downloads/percona-toolkit/ or the Percona Software
963
Repositories (http://www.percona.com/software/repositories/).
968
* Completely redesigned pt-online-schema-change
969
* Completely redesigned pt-mysql-summary
970
* Completely redesigned pt-summary
971
* Added new tool: pt-table-usage
972
* Added new tool: pt-fingerprint
973
* Fixed bug 955860: pt-stalk doesn't run vmstat, iostat, and mpstat for --run-time
974
* Fixed bug 960513: SHOW TABLE STATUS is used needlessly
975
* Fixed bug 969726: pt-online-schema-change loses foreign keys
976
* Fixed bug 846028: pt-online-schema-change does not show progress until completed
977
* Fixed bug 898695: pt-online-schema-change add useless ORDER BY
978
* Fixed bug 952727: pt-diskstats shows incorrect wr_mb_s
979
* Fixed bug 963225: pt-query-digest fails to set history columns for disk tmp tables and disk filesort
980
* Fixed bug 967451: Char chunking doesn't quote column name
981
* Fixed bug 972399: pt-table-checksum docs are not rendered right
982
* Fixed bug 896553: Various documentation spelling fixes
983
* Fixed bug 949154: pt-variable-advisor advice for relay-log-space-limit
984
* Fixed bug 953461: pt-upgrade manual broken 'output' section
985
* Fixed bug 949653: pt-table-checksum docs don't mention risks posed by inconsistent schemas
987
v2.0.4 released 2012-03-07
988
==========================
990
Percona Toolkit 2.0.4 has been released. 23 bugs were fixed in this release,
991
and three new features were implemented. First, --filter was added to pt-kill
992
which allows for arbitrary --group-by. Second, pt-online-schema-change now
993
requires that its new --execute option be given, else the tool will just check
994
the tables and exit. This is a safeguard to encourage users to read the
995
documentation, particularly when replication is involved. Third, pt-stalk
996
also received a new option: --[no]stalk. To collect immediately without
997
stalking, specify --no-stalk and the tool will collect once and exit.
999
This release is completely backwards compatible with previous 2.0 releases.
1000
Given the number of bug fixes, it's worth upgrading to 2.0.4.
1005
* Added --filter to pt-kill to allow arbitrary --group-by
1006
* Added --[no]stalk to pt-stalk (bug 932331)
1007
* Added --execute to pt-online-schema-change (bug 933232)
1008
* Fixed bug 873598: pt-online-schema-change doesn't like reserved words in column names
1009
* Fixed bug 928966: pt-pmp still uses insecure /tmp
1010
* Fixed bug 933232: pt-online-schema-change can break replication
1011
* Fixed bug 941225: Use of qw(...) as parentheses is deprecated at pt-kill line 3511
1012
* Fixed bug 821694: pt-query-digest doesn't recognize hex InnoDB txn IDs
1013
* Fixed bug 894255: pt-kill shouldn't check if STDIN is a tty when --daemonize is given
1014
* Fixed bug 916999: pt-table-checksum error: DBD::mysql::st execute failed: called with 2 bind variables when 6 are needed
1015
* Fixed bug 926598: DBD::mysql bug causes pt-upgrade to use wrong precision (M) and scale (D)
1016
* Fixed bug 928226: pt-diskstats illegal division by zero
1017
* Fixed bug 928415: Typo in pt-stalk doc: --trigger should be --function
1018
* Fixed bug 930317: pt-archiver doc refers to nonexistent pt-query-profiler
1019
* Fixed bug 930533: pt-sift looking for *-processlist1; broken compatibility with pt-stalk
1020
* Fixed bug 932331: pt-stalk cannot collect without stalking
1021
* Fixed bug 932442: pt-table-checksum error when column name has two spaces
1022
* Fixed bug 932883: File Debian bug after each release
1023
* Fixed bug 940503: pt-stalk disk space checks wrong on 32bit platforms
1024
* Fixed bug 944420: --daemonize doesn't always close STDIN
1025
* Fixed bug 945834: pt-sift invokes pt-diskstats with deprecated argument
1026
* Fixed bug 945836: pt-sift prints awk error if there are no stack traces to aggregate
1027
* Fixed bug 945842: pt-sift generates wrong state sum during processlist analysis
1028
* Fixed bug 946438: pt-query-digest should print a better message when an unsupported log format is specified
1029
* Fixed bug 946776: pt-table-checksum ignores --lock-wait-timeout
1030
* Fixed bug 940440: Bad grammar in pt-kill docs
1032
v2.0.3 released 2012-02-03
1033
==========================
1035
Percona Toolkit 2.0.3 has been released. The development team was very
1036
busy last month making this release significant: two completely
1037
redesigned and improved tools, pt-diskstats and pt-stalk, and 20 bug fixes.
1039
Both pt-diskstats and pt-stalk were redesigned and rewritten from the ground
1040
up. This allowed us to greatly improve these tools' functionality and
1041
increase testing for them. The accuracy and output of pt-diskstats was
1042
enhanced, and the tool was rewritten in Perl. pt-collect was removed and
1043
its functionality was put into a new, enhanced pt-stalk. pt-stalk is now
1044
designed to be a stable, long-running daemon on a variety of common platforms.
1045
It is worth re-reading the documentation for each of these tools.
1047
The 20 bug fixes cover a wide range of problems. The most important are
1048
fixes to pt-table-checksum, pt-iostats, and pt-kill. Apart from pt-diskstats,
1049
pt-stalk, and pt-collect (which was removed), no other tools were changed
1050
in backwards-incompatible ways, so it is worth reviewing the full changelog
1051
for this release and upgrading if you use any tools which had bug fixes.
1053
Thank you to the many people who reported bugs and submitted patches.
1055
Download the latest release of Percona Toolkit 2.0 from
1056
http://www.percona.com/software/percona-toolkit/
1057
or the Percona Software Repositories
1058
(http://www.percona.com/docs/wiki/repositories:start).
1063
* Completely redesigned pt-diskstats
1064
* Completely redesigned pt-stalk
1065
* Removed pt-collect and put its functionality in pt-stalk
1066
* Fixed bug 871438: Bash tools are insecure
1067
* Fixed bug 897758: Failed to prepare TableSyncChunk plugin: Use of uninitialized value $args{"chunk_range"} in lc at pt-table-sync line 3055
1068
* Fixed bug 919819: pt-kill --execute-command creates zombies
1069
* Fixed bug 925778: pt-ioprofile doesn't run without a file
1070
* Fixed bug 925477: pt-ioprofile docs refer to pt-iostats
1071
* Fixed bug 857091: pt-sift downloads http://percona.com/get/pt-pmp, which does not work
1072
* Fixed bug 857104: pt-sift tries to invoke mext, should be pt-mext
1073
* Fixed bug 872699: pt-diskstats: rd_avkb & wr_avkb derived incorrectly
1074
* Fixed bug 897029: pt-diskstats computes wrong values for md0
1075
* Fixed bug 882918: pt-stalk spams warning if oprofile isn't installed
1076
* Fixed bug 884504: pt-stalk doesn't check pt-collect
1077
* Fixed bug 897483: pt-online-schema-change "uninitialized value" due to update-foreign-keys-method
1078
* Fixed bug 925007: pt-online-schema-change Use of uninitialized value $tables{"old_table"} in concatenation (.) or string at line 4330
1079
* Fixed bug 915598: pt-config-diff ignores --ask-pass option
1080
* Fixed bug 919352: pt-table-checksum changes binlog_format even if already set to statement
1081
* Fixed bug 921700: pt-table-checksum doesn't add --where to chunk size test on replicas
1082
* Fixed bug 921802: pt-table-checksum does not recognize --recursion-method=processlist
1083
* Fixed bug 925855: pt-table-checksum index check is case-sensitive
1084
* Fixed bug 821709: pt-show-grants --revoke and --separate don't work together
1085
* Fixed bug 918247: Some tools use VALUE instead of VALUES
1087
v2.0.2 released 2012-01-05
1088
==========================
1090
Percona Toolkit 2.0.2 fixes one critical bug: pt-table-sync --replicate
1091
did not work with character values, causing an "Unknown column" error.
1092
If using Percona Toolkit 2.0.1, you should upgrade to 2.0.2.
1094
Download the latest release of Percona Toolkit 2.0 from
1095
http://www.percona.com/software/percona-toolkit/
1096
or the Percona Software Repositories
1097
(http://www.percona.com/docs/wiki/repositories:start).
1102
* Fixed bug 911996: pt-table-sync --replicate causes "Unknown column" error
1104
v2.0.1 released 2011-12-30
1105
==========================
1107
The Percona Toolkit development team is proud to announce a new major version:
1108
2.0. Beginning with Percona Toolkit 2.0, we are overhauling, redesigning, and
1109
improving the major tools. 2.0 tools are therefore not backwards compatible
1110
with 1.0 tools, which we still support but will not continue to develop.
1112
New in Percona Toolkit 2.0.1 is a completely redesigned pt-table-checksum.
1113
The original pt-table-checksum 1.0 was rather complex, but it worked well
1114
for many years. By contrast, the new pt-table-checksum 2.0 is much simpler but
1115
also much more efficient and reliable. We spent months rethinking, redesigning,
1116
and testing every aspect of the tool. The three most significant changes:
1117
pt-table-checksum 2.0 does only --replicate, it has only one chunking algorithm,
1118
and its memory usage is stable even with hundreds of thousands of tables and
1119
trillions of rows. The tool is now dedicated to verifying MySQL replication
1120
integrity, nothing else, which it does extremely well.
1122
In Percona Toolkit 2.0.1 we also fixed various small bugs and forked ioprofile
1123
and align (as pt-ioprofile and pt-align) from Aspersa.
1125
If you still need functionalities in the original pt-table-checksum,
1126
the latest Percona Toolkit 1.0 release remains available for download.
1127
Otherwise, all new development in Percona Toolkit will happen in 2.0.
1129
Download the latest release of Percona Toolkit 2.0 from
1130
http://www.percona.com/software/percona-toolkit/
1131
or the Percona Software Repositories
1132
(http://www.percona.com/docs/wiki/repositories:start).
1137
* Completely redesigned pt-table-checksum
1138
* Fixed bug 856065: pt-trend does not work
1139
* Fixed bug 887688: Prepared statements crash pt-query-digest
1140
* Fixed bug 888286: align not part of percona-toolkit
1141
* Fixed bug 897961: ptc 2.0 replicate-check error does not include hostname
1142
* Fixed bug 898318: ptc 2.0 --resume with --tables does not always work
1143
* Fixed bug 903513: MKDEBUG should be PTDEBUG
1144
* Fixed bug 908256: Percona Toolkit should include pt-ioprofile
1145
* Fixed bug 821717: pt-tcp-model --type=requests crashes
1146
* Fixed bug 844038: pt-online-schema-change documentation example w/drop-tmp-table does not work
1147
* Fixed bug 864205: Remove the query to reset @crc from pt-table-checksum
1148
* Fixed bug 898663: Typo in pt-log-player documentation
1150
v1.0.1 released 2011-09-01
1151
==========================
1153
Percona Toolkit 1.0.1 has been released. In July, Baron announced planned
1154
changes to Maatkit and Aspersa development;[1] Percona Toolkit is the
1155
result. In brief, Percona Toolkit is the combined fork of Maatkit and
1156
Aspersa, so although the toolkit is new, the programs are not. That means
1157
Percona Toolkit 1.0.1 is mature, stable, and production-ready. In fact,
1158
it's even a little more stable because we fixed a few bugs in this release.
1160
Percona Toolkit packages can be downloaded from
1161
http://www.percona.com/downloads/percona-toolkit/
1162
or the Percona Software Repositories
1163
(http://www.percona.com/docs/wiki/repositories:start).
1165
Although Maatkit and Aspersa development use Google Code, Percona Toolkit
1166
uses Launchpad: https://launchpad.net/percona-toolkit
1168
[1] http://www.xaprb.com/blog/2011/07/06/planned-change-in-maatkit-aspersa-development/
1173
* Fixed bug 819421: MasterSlave::is_replication_thread() doesn't match all
1174
* Fixed bug 821673: pt-table-checksum doesn't include --where in min max queries
1175
* Fixed bug 821688: pt-table-checksum SELECT MIN MAX for char chunking is wrong
1176
* Fixed bug 838211: pt-collect: line 24: [: : integer expression expected
1177
* Fixed bug 838248: pt-collect creates a "5.1" file
1179
v0.9.5 released 2011-08-04
1180
==========================
1182
Percona Toolkit 0.9.5 represents the completed transition from Maatkit and Aspersa. There are no bug fixes or new features, but some features have been removed (like --save-results from pt-query-digest). This release is the starting point for the 1.0 series where new development will happen, and no more changes will be made to the 0.9 series.
1187
* Forked, combined, and rebranded Maatkit and Aspersa as Percona Toolkit.
1192
* Fixed bug 1279502: --version-check behaves like spyware
4
1194
v2.2.6 released 2013-12-18
5
1195
==========================