mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-14 23:40:58 +00:00
Merge release-2.2.1 to get Lmo with headers.
This commit is contained in:
43
Changelog
43
Changelog
@@ -1,5 +1,48 @@
|
||||
Changelog for Percona Toolkit
|
||||
|
||||
v2.2.1 released 2013-03-14
|
||||
|
||||
* Official support for MySQL 5.6
|
||||
* Official support for Percona XtraDB Cluster
|
||||
* Redesigned pt-query-digest
|
||||
* Redesigned pt-upgrade
|
||||
* Redesigned pt-fk-error-logger
|
||||
* Redesigned pt-deadlock-logger
|
||||
* Changed --set-vars in all tools
|
||||
* Renamed --retries to --tries in pt-online-schema-change
|
||||
* Added --check-read-only to pt-heartbeat
|
||||
* Added MySQL options to pt-mysql-summary
|
||||
* Added MySQL options to pt-stalk
|
||||
* Removed --lock-wait-timeout from pt-online-schema-change (use --set-vars)
|
||||
* Removed --lock-wait-timeout from pt-table-checksum (use --set-vars)
|
||||
* Removed pt-query-advisor
|
||||
* Removed pt-tcp-model
|
||||
* Removed pt-trend
|
||||
* Removed pt-log-player
|
||||
* Enabled --version-check by default in all tools
|
||||
* Fixed bug 1008796: Several tools don't have --database
|
||||
* Fixed bug 1087319: Quoter::serialize_list() doesn't handle multiple NULL values
|
||||
* Fixed bug 1086018: pt-config-diff needs to parse wsrep_provider_options
|
||||
* Fixed bug 1056838: pt-fk-error-logger --run-time works differently than pt-deadlock-logger --run-time
|
||||
* Fixed bug 1093016: pt-online-schema-change doesn't retry RENAME TABLE
|
||||
* Fixed bug 1113301: pt-online-schema-change blocks on metadata locks
|
||||
* Fixed bug 1125665: pt-stalk --no-stalk silently clobbers other options, acts magically
|
||||
* Fixed bug 1019648: pt-stalk truncates InnoDB status if there are too many transactions
|
||||
* Fixed bug 1087804: pt-table-checksum doesn't warn if no slaves are found
|
||||
|
||||
v2.1.9 released 2013-02-14
|
||||
|
||||
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
|
||||
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
|
||||
* Fixed bug 1099836: pt-online-schema-change fails with "Duplicate entry" on MariaDB
|
||||
* Fixed bug 1103672: pt-online-schema-change makes bad DELETE trigger if PK is re-created with new columns
|
||||
* Fixed bug 1115333: pt-pmp doesn't list the origin lib for each function
|
||||
* Fixed bug 823411: pt-query-digest shouldn't print "Error: none" for tcpdump
|
||||
* Fixed bug 1103045: pt-query-digest fails to parse non-SQL errors
|
||||
* Fixed bug 1105077: pt-table-checksum: Confusing error message with binlog_format ROW or MIXED on slave
|
||||
* Fixed bug 918056: pt-table-sync false-positive error "Cannot nibble table because MySQL chose no index instead of the PRIMARY index"
|
||||
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
|
||||
|
||||
v2.1.8 released 2012-12-21
|
||||
|
||||
* Beta support for MySQL 5.6
|
||||
|
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
|
||||
|
||||
WriteMakefile(
|
||||
NAME => 'percona-toolkit',
|
||||
VERSION => '2.1.8',
|
||||
VERSION => '2.2.1',
|
||||
EXE_FILES => [ <bin/*> ],
|
||||
MAN1PODS => {
|
||||
'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p',
|
||||
|
@@ -217,6 +217,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-align 2.1.8
|
||||
pt-align 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -42,7 +42,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -7800,6 +7800,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-archiver 2.1.8
|
||||
pt-archiver 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -42,7 +42,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5647,6 +5647,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-config-diff 2.1.8
|
||||
pt-config-diff 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -41,7 +41,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5420,6 +5420,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-deadlock-logger 2.1.8
|
||||
pt-deadlock-logger 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -37,7 +37,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5484,6 +5484,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-diskstats 2.1.8
|
||||
pt-diskstats 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -38,7 +38,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5463,6 +5463,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-duplicate-key-checker 2.1.8
|
||||
pt-duplicate-key-checker 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -1562,6 +1562,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-fifo-split 2.1.8
|
||||
pt-fifo-split 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -34,7 +34,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4929,6 +4929,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-find 2.1.8
|
||||
pt-find 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -2135,7 +2135,7 @@ software from Percona.
|
||||
|
||||
=head1 COPYRIGHT, LICENSE, AND WARRANTY
|
||||
|
||||
This program is copyright 2011-2012 Percona Ireland Ltd.
|
||||
This program is copyright 2011-2013 Percona Ireland Ltd.
|
||||
|
||||
THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
@@ -2153,6 +2153,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-fingerprint 2.1.8
|
||||
pt-fingerprint 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -36,7 +36,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4428,6 +4428,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-fk-error-logger 2.1.8
|
||||
pt-fk-error-logger 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -37,7 +37,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5001,10 +5001,13 @@ sub main {
|
||||
|
||||
$heartbeat_sth = $dbh->prepare($heartbeat_sql);
|
||||
|
||||
my $ro_check = !!$o->get('check-read-only');
|
||||
$update_heartbeat = sub {
|
||||
my ($sth) = @_;
|
||||
my @vals;
|
||||
|
||||
return if $ro_check && server_is_readonly($dbh);
|
||||
|
||||
my $sql;
|
||||
if ( @master_status_cols ) {
|
||||
$sql = "SHOW MASTER STATUS";
|
||||
@@ -5252,6 +5255,18 @@ sub main {
|
||||
# Subroutines.
|
||||
# ############################################################################
|
||||
|
||||
sub server_is_readonly {
|
||||
my ($dbh) = @_;
|
||||
my ( $is_read_only ) = $dbh->selectrow_array(q{SELECT @@global.read_only});
|
||||
if ( $is_read_only ) {
|
||||
my ( $privs ) = eval { $dbh->selectrow_array(q{SHOW GRANTS}) };
|
||||
if ( $privs && $privs =~ /\b(?:ALL|SUPER)\b/ ) {
|
||||
$is_read_only = undef;
|
||||
}
|
||||
}
|
||||
return $is_read_only;
|
||||
}
|
||||
|
||||
# Check the delay on a single server. Optionally recurse to all its slaves.
|
||||
sub check_delay {
|
||||
my ( %args ) = @_;
|
||||
@@ -5568,6 +5583,11 @@ tool will try to discover slave's of the given slave and check and print
|
||||
their lag, too. The hostname or IP and port for each slave is printed
|
||||
before its delay. L<"--recurse"> only works with MySQL.
|
||||
|
||||
=item --check-read-only
|
||||
|
||||
Check if the server has read_only enabled; If it does, the tool skips doing
|
||||
any inserts.
|
||||
|
||||
=item --config
|
||||
|
||||
type: Array
|
||||
@@ -5910,7 +5930,7 @@ not check or adjust for different system or MySQL time zones which can
|
||||
cause the tool to compute the lag incorrectly. Specifying this option is
|
||||
a good idea because it ensures that the tool works correctly regardless of
|
||||
time zones, but it also makes the tool backwards-incompatible with
|
||||
pt-heartbeat 2.1.7 and older (unless the older version of pt-heartbeat
|
||||
pt-heartbeat 2.2.1 and older (unless the older version of pt-heartbeat
|
||||
is running on a system that uses UTC).
|
||||
|
||||
=item --version
|
||||
@@ -6092,6 +6112,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-heartbeat 2.1.8
|
||||
pt-heartbeat 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -44,7 +44,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -7459,6 +7459,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-index-usage 2.1.8
|
||||
pt-index-usage 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -1115,7 +1115,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-ioprofile 2.1.8
|
||||
pt-ioprofile 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -46,7 +46,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -8060,6 +8060,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-kill 2.1.8
|
||||
pt-kill 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -281,7 +281,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-mext 2.1.8
|
||||
pt-mext 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -3111,7 +3111,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-mysql-summary 2.1.8
|
||||
pt-mysql-summary 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -53,7 +53,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -11238,6 +11238,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-online-schema-change 2.1.8
|
||||
pt-online-schema-change 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -405,7 +405,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-pmp 2.1.8
|
||||
pt-pmp 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -63,7 +63,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -16010,6 +16010,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-query-digest 2.2.0
|
||||
pt-query-digest 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -2396,6 +2396,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-show-grants 2.1.8
|
||||
pt-show-grants 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -780,7 +780,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-sift 2.1.8
|
||||
pt-sift 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -39,7 +39,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -4807,6 +4807,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-slave-delay 2.1.8
|
||||
pt-slave-delay 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -4317,6 +4317,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-slave-find 2.1.8
|
||||
pt-slave-find 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -40,7 +40,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -5749,6 +5749,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-slave-restart 2.1.8
|
||||
pt-slave-restart 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -2197,7 +2197,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-stalk 2.1.8
|
||||
pt-stalk 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -2682,7 +2682,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-summary 2.1.8
|
||||
pt-summary 2.2.1
|
||||
|
||||
=cut
|
||||
|
||||
|
@@ -56,7 +56,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -12194,6 +12194,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-table-checksum 2.1.8
|
||||
pt-table-checksum 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -54,7 +54,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -12599,6 +12599,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-table-sync 2.1.8
|
||||
pt-table-sync 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -7512,6 +7512,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-table-usage 2.1.8
|
||||
pt-table-usage 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -60,7 +60,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -11111,6 +11111,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-upgrade 2.2.0
|
||||
pt-upgrade 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -43,7 +43,7 @@ BEGIN {
|
||||
# ###########################################################################
|
||||
{
|
||||
package Percona::Toolkit;
|
||||
our $VERSION = '2.1.8';
|
||||
our $VERSION = '2.2.1';
|
||||
|
||||
1;
|
||||
}
|
||||
@@ -6077,6 +6077,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-variable-advisor 2.1.8
|
||||
pt-variable-advisor 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -3233,6 +3233,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
pt-visual-explain 2.1.8
|
||||
pt-visual-explain 2.2.1
|
||||
|
||||
=cut
|
||||
|
@@ -1,3 +1,50 @@
|
||||
percona-toolkit (2.2.1) unstable; urgency=low
|
||||
|
||||
* Official support for MySQL 5.6
|
||||
* Official support for Percona XtraDB Cluster
|
||||
* Redesigned pt-query-digest
|
||||
* Redesigned pt-upgrade
|
||||
* Redesigned pt-fk-error-logger
|
||||
* Redesigned pt-deadlock-logger
|
||||
* Changed --set-vars in all tools
|
||||
* Renamed --retries to --tries in pt-online-schema-change
|
||||
* Added --check-read-only to pt-heartbeat
|
||||
* Added MySQL options to pt-mysql-summary
|
||||
* Added MySQL options to pt-stalk
|
||||
* Removed --lock-wait-timeout from pt-online-schema-change (use --set-vars)
|
||||
* Removed --lock-wait-timeout from pt-table-checksum (use --set-vars)
|
||||
* Removed pt-query-advisor
|
||||
* Removed pt-tcp-model
|
||||
* Removed pt-trend
|
||||
* Removed pt-log-player
|
||||
* Enabled --version-check by default in all tools
|
||||
* Fixed bug 1008796: Several tools don't have --database
|
||||
* Fixed bug 1087319: Quoter::serialize_list() doesn't handle multiple NULL values
|
||||
* Fixed bug 1086018: pt-config-diff needs to parse wsrep_provider_options
|
||||
* Fixed bug 1056838: pt-fk-error-logger --run-time works differently than pt-deadlock-logger --run-time
|
||||
* Fixed bug 1093016: pt-online-schema-change doesn't retry RENAME TABLE
|
||||
* Fixed bug 1113301: pt-online-schema-change blocks on metadata locks
|
||||
* Fixed bug 1125665: pt-stalk --no-stalk silently clobbers other options, acts magically
|
||||
* Fixed bug 1019648: pt-stalk truncates InnoDB status if there are too many transactions
|
||||
* Fixed bug 1087804: pt-table-checksum doesn't warn if no slaves are found
|
||||
|
||||
-- Percona Toolkit Developers <toolkit-dev@percona.com> Thu, 14 Mar 2013 17:18:34 +0000
|
||||
|
||||
percona-toolkit (2.1.9) unstable; urgency=low
|
||||
|
||||
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
|
||||
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
|
||||
* Fixed bug 1099836: pt-online-schema-change fails with "Duplicate entry" on MariaDB
|
||||
* Fixed bug 1103672: pt-online-schema-change makes bad DELETE trigger if PK is re-created with new columns
|
||||
* Fixed bug 1115333: pt-pmp doesn't list the origin lib for each function
|
||||
* Fixed bug 823411: pt-query-digest shouldn't print "Error: none" for tcpdump
|
||||
* Fixed bug 1103045: pt-query-digest fails to parse non-SQL errors
|
||||
* Fixed bug 1105077: pt-table-checksum: Confusing error message with binlog_format ROW or MIXED on slave
|
||||
* Fixed bug 918056: pt-table-sync false-positive error "Cannot nibble table because MySQL chose no index instead of the PRIMARY index"
|
||||
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
|
||||
|
||||
-- Percona Toolkit Developers <toolkit-dev@percona.com> Thu, 14 Feb 2013 17:25:44 +0000
|
||||
|
||||
percona-toolkit (2.1.8) unstable; urgency=low
|
||||
|
||||
* Beta support for MySQL 5.6
|
||||
|
@@ -23,6 +23,6 @@ Description: Advanced MySQL and system command-line tools
|
||||
They are also fully self-contained, so installation is quick and easy and
|
||||
no libraries are installed.
|
||||
.
|
||||
Percona Toolkit is developed and supported by Percona Inc. For more
|
||||
Percona Toolkit is developed and supported by Percona. For more
|
||||
information and other free, open-source software developed by Percona,
|
||||
visit http://www.percona.com/software/.
|
||||
|
@@ -9,7 +9,7 @@ Upstream Author:
|
||||
|
||||
Copyright:
|
||||
|
||||
Copyright 2011 Percona Inc.
|
||||
Copyright 2013 Percona Ireland Ltd.
|
||||
|
||||
License:
|
||||
|
||||
|
@@ -4,7 +4,7 @@ Version: %{version}
|
||||
Release: %{release}
|
||||
Group: Applications/Databases
|
||||
License: GPL
|
||||
Vendor: Percona Inc.
|
||||
Vendor: Percona
|
||||
URL: http://www.percona.com/software/percona-toolkit/
|
||||
Source: percona-toolkit-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
@@ -22,7 +22,7 @@ they are professionally developed, formally tested, and fully documented.
|
||||
They are also fully self-contained, so installation is quick and easy and
|
||||
no libraries are installed.
|
||||
|
||||
Percona Toolkit is developed and supported by Percona Inc. For more
|
||||
Percona Toolkit is developed and supported by Percona. For more
|
||||
information and other free, open-source software developed by Percona,
|
||||
visit http://www.percona.com/software/.
|
||||
|
||||
|
@@ -41,16 +41,16 @@ master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'Percona Toolkit'
|
||||
copyright = u'2011, Percona Inc'
|
||||
copyright = u'2013, Percona Ireland Ltd'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '2.1'
|
||||
version = '2.2'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '2.1.8'
|
||||
release = '2.2.1'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
@@ -179,7 +179,7 @@ htmlhelp_basename = 'PerconaToolkitdoc'
|
||||
# (source start file, target name, title, author, documentclass [howto/manual]).
|
||||
latex_documents = [
|
||||
('index', 'PerconaToolkit.tex', u'Percona Toolkit Documentation',
|
||||
u'Percona Inc', 'manual'),
|
||||
u'Percona Ireland Ltd', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
@@ -212,5 +212,5 @@ latex_documents = [
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
('index', 'perconatoolkit', u'Percona Toolkit Documentation',
|
||||
[u'Percona Inc'], 1)
|
||||
[u'Percona Ireland Ltd'], 1)
|
||||
]
|
||||
|
@@ -289,7 +289,7 @@ If you spotted innacuracies, errors, don't understood it or you think something
|
||||
Call us: 1-888-316-9775 • <a href="/contact">Contact Us</a><br>
|
||||
MySQL and InnoDB are trademarks of Oracle Corp.<br>
|
||||
Proudly running <a href="/software/percona-server/">Percona Server<span id="recentServerVersion"></span></a><br>
|
||||
Copyright © 2006-2011 Percona Inc.<br>
|
||||
Copyright © 2006-2013 Percona Ireland Ltd.<br>
|
||||
<a href="/about-us/policies/">Copyright, Trademark, and Privacy Policy</a> • <a href="/sitemap/">Sitemap</a>
|
||||
<span class="inv"><!--[CDATA[</noindex-->]]></span>
|
||||
</div>
|
||||
|
21
docs/dev/how-to-fatpack-pod2rst
Normal file
21
docs/dev/how-to-fatpack-pod2rst
Normal file
@@ -0,0 +1,21 @@
|
||||
$ cpanm App::FatPacker
|
||||
$ mkdir /tmp/pod2rst
|
||||
$ cp util/pod2rst-fixed /tmp/pod2rst/
|
||||
$ cd /tmp/pod2rst
|
||||
$ mkdir lib
|
||||
$ fatpack trace pod2rst-fixed
|
||||
$ fatpack packlists-for `cat fatpacker.trace` >packlists
|
||||
$ fatpack tree `cat packlists`
|
||||
$ (echo "#!/usr/bin/env perl"; fatpack file; cat pod2rst-fixed) > pod2rst-fixed.packed
|
||||
$ cp pod2rst-fixed.packed ~/percona-toolkit/util/
|
||||
$ cd ~/
|
||||
$ rm -rf /tmp/pod2rst
|
||||
|
||||
|
||||
Notes:
|
||||
1. Don't do this from the root of the bzr repo. fatpack tries to be clever
|
||||
and inlines everything under lib/
|
||||
2. mkdir lib/ is to get around a bug(?) in fatpack
|
||||
3. these two lines are safe to ignore:
|
||||
File /tmp/pod2rst/fatlib/darwin-thread-multi-2level/auto/HTML/Parser/Parser.bs isn't a .pm file - can't pack this and if you hoped we were going to things may not be what you expected later
|
||||
File /tmp/pod2rst/fatlib/darwin-thread-multi-2level/auto/HTML/Parser/Parser.bundle isn't a .pm file - can't pack this and if you hoped we were going to things may not be what you expected later
|
@@ -14,7 +14,7 @@ no libraries are installed.
|
||||
|
||||
Percona Toolkit is derived from Maatkit and Aspersa, two of the best-known
|
||||
toolkits for MySQL server administration. It is developed and supported by
|
||||
Percona Inc. For more information and other free, open-source software
|
||||
Percona. For more information and other free, open-source software
|
||||
developed by Percona, visit `http://www.percona.com/software/ <http://www.percona.com/software/>`_.
|
||||
|
||||
Getting Percona Toolkit
|
||||
|
@@ -40,7 +40,7 @@ Diff MySQL configuration files and server variables.
|
||||
|
||||
=item pt-deadlock-logger
|
||||
|
||||
Extract and log MySQL deadlock information.
|
||||
Log MySQL deadlocks.
|
||||
|
||||
=item pt-diskstats
|
||||
|
||||
@@ -64,7 +64,7 @@ Convert queries into fingerprints.
|
||||
|
||||
=item pt-fk-error-logger
|
||||
|
||||
Extract and log MySQL foreign key errors.
|
||||
Log MySQL foreign key errors.
|
||||
|
||||
=item pt-heartbeat
|
||||
|
||||
@@ -82,10 +82,6 @@ Watch process IO and print a table of file and I/O activity.
|
||||
|
||||
Kill MySQL queries that match certain criteria.
|
||||
|
||||
=item pt-log-player
|
||||
|
||||
Replay MySQL query logs.
|
||||
|
||||
=item pt-mext
|
||||
|
||||
Look at many samples of MySQL C<SHOW GLOBAL STATUS> side-by-side.
|
||||
@@ -102,13 +98,9 @@ ALTER tables without locking them.
|
||||
|
||||
Aggregate GDB stack traces for a selected program.
|
||||
|
||||
=item pt-query-advisor
|
||||
|
||||
Analyze queries and advise on possible problems.
|
||||
|
||||
=item pt-query-digest
|
||||
|
||||
Analyze query execution logs and generate a query report, filter, replay, or transform queries for MySQL, PostgreSQL, memcached, and more.
|
||||
Analyze MySQL queries from logs, processlist, and tcpdump.
|
||||
|
||||
=item pt-show-grants
|
||||
|
||||
@@ -132,7 +124,7 @@ Watch and restart MySQL replication after errors.
|
||||
|
||||
=item pt-stalk
|
||||
|
||||
Gather forensic data about MySQL when a problem occurs.
|
||||
Collect forensic data about MySQL when problems occur.
|
||||
|
||||
=item pt-summary
|
||||
|
||||
@@ -150,17 +142,9 @@ Synchronize MySQL table data efficiently.
|
||||
|
||||
Analyze how queries use tables.
|
||||
|
||||
=item pt-tcp-model
|
||||
|
||||
Transform tcpdump into metrics that permit performance and scalability modeling.
|
||||
|
||||
=item pt-trend
|
||||
|
||||
(DEPRECATED) Compute statistics over a set of time-series data points.
|
||||
|
||||
=item pt-upgrade
|
||||
|
||||
Execute queries on multiple servers and check for differences.
|
||||
Verify that query results are identical on different servers.
|
||||
|
||||
=item pt-variable-advisor
|
||||
|
||||
@@ -574,6 +558,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
Percona Toolkit v2.1.8 released 2012-12-21
|
||||
Percona Toolkit v2.2.1 released 2013-03-14
|
||||
|
||||
=cut
|
||||
|
@@ -1,6 +1,270 @@
|
||||
Release Notes
|
||||
*************
|
||||
|
||||
v2.2.1 released 2013-03-14
|
||||
==========================
|
||||
|
||||
Percona Toolkit 2.2.1 has been released. This is the first release in
|
||||
the new 2.2 series which supersedes the 2.1 series and renders the 2.0
|
||||
series obsolete. We plan to do one more bug fix release for 2.1 (2.1.10),
|
||||
but otherwise all new development and fixes and will now focus on 2.2.
|
||||
|
||||
Percona Toolkit 2.2 has been several months in the making, and it turned
|
||||
out very well, with many more new features, changes, and improvements than
|
||||
originally anticipated. Here are the highlights:
|
||||
|
||||
----
|
||||
|
||||
* Official support for MySQL 5.6
|
||||
|
||||
We started beta support for MySQL 5.6 in 2.1.8 when 5.6 was still beta.
|
||||
Now that 5.6 is GA, so is our support for it. Check out the Percona Toolkit
|
||||
supported platforms and versions:
|
||||
http://www.percona.com/mysql-support/policies/percona-toolkit-supported-platforms-and-versions
|
||||
|
||||
When you upgrade to MySQL 5.6, be sure to upgrade to Percona Toolkit 2.2, too.
|
||||
|
||||
* Official support for Percona XtraDB Cluster (PXC)
|
||||
|
||||
We also started beta support for Percona XtraDB Cluster in 2.1.8, but
|
||||
now that support is official in 2.2 because we have had many months to
|
||||
work with PXC and figure out which tools work with it and how. There's
|
||||
still one noticeable omission: pt-table-sync. It's still unclear if
|
||||
or how one would sync a cluster that, in theory, doesn't become out-of-sync.
|
||||
As Percona XtraDB Cluster develops, Percona Toolkit will continue to
|
||||
evolve to support it.
|
||||
|
||||
* pt-online-schema-change (pt-osc) is much more resilient
|
||||
|
||||
pt-online-schema-change 2.1 has been a great success, and people have been
|
||||
using it for evermore difficult and challenging tasks. Consequently, we
|
||||
needed to make it "try harder", even though it already tried pretty hard
|
||||
to keep working despite recoverable errors and such. Whereas pt-osc 2.1
|
||||
only retries certain operations, pt-osc 2.2 retries every critical operation,
|
||||
and its tries and wait time between tries for all operations are configurable.
|
||||
Also, we removed --lock-wait-timeout which set innodb_lock_wait_timeout
|
||||
because that now conflicts, or is at least confused with, lock_wait_timeout
|
||||
(introduced in MySQL 5.5) for metadata locks. Now --set-vars is used to
|
||||
set both of these (or any) system variables. For a quick intro to metadata
|
||||
locks and how they may affect you, see Ovais's article:
|
||||
http://www.mysqlperformanceblog.com/2013/02/01/implications-of-metadata-locking-changes-in-mysql-5-5/
|
||||
|
||||
What does this all mean? In short: pt-online-schema-change 2.2 is far more
|
||||
resilient out of the box. It's also aware of metadata locks now, whereas
|
||||
2.1 was not really aware of them. And it's highly configurable, so you can
|
||||
make the tool try _very_ hard to keep working.
|
||||
|
||||
* pt-upgrade is brand-new
|
||||
|
||||
pt-upgrade was written once long ago, thrown into the world, and then never
|
||||
heard from again... until now. Now that we have four base versions of
|
||||
MySQL (5.0, 5.1, 5.5, and 5.6), plus at least four major forks (Percona
|
||||
Server, MariaDB, Percona XtraDB Cluster, and MariaDB Galera Cluster),
|
||||
upgrades are fashionable, so to speak. Problem is: "original" pt-upgrade
|
||||
was too noisy and too complex. pt-upgrade 2.2 is far simpler and far
|
||||
easier to use. It's basically what you expect from such a tool.
|
||||
|
||||
Moreover, it has a really helpful new feature: "reference results", i.e.
|
||||
saved results from running queries on a server. Granted, this can take
|
||||
_a lot_ of disk space, but it allows you to "run now, compare later."
|
||||
|
||||
If you're thinking about upgrading, give pt-upgrade a try. It also reads
|
||||
every type of log now (slow, general, binary, and tcpdump), so you shouldn't
|
||||
have a problem finding queries to run and compare.
|
||||
|
||||
* pt-query-digest is simpler
|
||||
|
||||
pt-query-digest 2.2 has fewer options now. Basically, we re-focused it
|
||||
on its primary objective: analyzing MySQL query logs. So the ability
|
||||
to parse memcached, Postgres, Apache, and other logs was removed. We
|
||||
also removed several options that probably nobody ever used, and
|
||||
changed/renamed other options to be more logical. The result is a simpler,
|
||||
more focused tool, i.e. less overwhelming.
|
||||
|
||||
Also, pt-query-digest 2.2 can save results in JSON format (--output=json).
|
||||
This feature is still in development while we determine the optimal
|
||||
JSON structure.
|
||||
|
||||
* Version check is on by default
|
||||
|
||||
Way back in 2.1.4, released September/October 2012, we introduced a feature
|
||||
called "version check" into most tools: http://percona.com/version-check
|
||||
It's like a lot of software that automatically checks for updates, but
|
||||
it's also more: it's a free service from Percona that advises when certain
|
||||
programs (Percona Toolkit tools, MySQL, Perl, etc.) are either out of date
|
||||
or are known bad versions. For example, there are two versions of the
|
||||
DBD::mysql Perl module that have problems. And there are certain versions
|
||||
of MySQL that have critical bugs. Version check will warn you about these
|
||||
if your system is running them.
|
||||
|
||||
What's new in 2.2 is that, whereas this feature (specifically, the option
|
||||
in tools: --version-check) was off by default, now it's on by default.
|
||||
If the IO::Socket::SSL Perl module is installed (easily available through
|
||||
your package manager), it will use a secure (https) connection over the web,
|
||||
else it will use a standard (http) connection.
|
||||
|
||||
Check out http://percona.com/version-check for more information.
|
||||
|
||||
* pt-query-advisor, pt-tcp-model, pt-trend, and pt-log-player are gone
|
||||
|
||||
We removed pt-query-advisor, pt-tcp-model, pt-trend, and pt-log-player.
|
||||
Granted, no tool is ever really gone: if you need one of these tools,
|
||||
get it from 2.1. pt-log-player is now superseded by Percona Playback
|
||||
(http://www.percona.com/doc/percona-playback/). pt-query-advisor was
|
||||
removed so that we can focus our efforts on its online counterpart instead:
|
||||
https://tools.percona.com/query-advisor. The other tools were special
|
||||
projects that were not widely used.
|
||||
|
||||
* pt-stalk and pt-mysql-summary have built-in MySQL options
|
||||
|
||||
No more "pt-stalk -- -h db1 -u me". pt-stalk 2.2 and pt-mysql-summary 2.2
|
||||
have all the standard MySQL options built-in, like other tools: --user,
|
||||
--host, --port, --password, --socket, --defaults-file. So now the command
|
||||
line is what you expect: pt-stalk -h dhb1 -u me.
|
||||
|
||||
* pt-stalk --no-stalk is no longer magical
|
||||
|
||||
Originally, pt-stalk --no-stalk was meant to simulate pt-collect, i.e.
|
||||
collect once and exit. To do that, the tool magically set some options
|
||||
and clobbered others, resulting in no way to do repeated collections
|
||||
at intervals. Now --no-stalk means only that: don't stalk, just collect,
|
||||
respecting --interval and --iterations as usual. So to collect once
|
||||
and exit: pt-stalk --no-stalk --iterations 1.
|
||||
|
||||
* pt-fk-error-logger and pt-deadlock-logger are standardized
|
||||
|
||||
Similar to the pt-stalk --no-stalk changes, pt-fk-error-logger and
|
||||
pt-deadlock-logger received mini overhauls in 2.2 to make their
|
||||
run-related options (--run-time, --interval, --iterations) standard.
|
||||
If you hadn't noticed, one tool would run forever by default, while
|
||||
the other would run once and exit. And each treated their run-related
|
||||
options a little differently. This magic is gone now: both tools run
|
||||
forever by default, so specify --iterations or --run-time to limit how
|
||||
long they run.
|
||||
|
||||
----
|
||||
|
||||
There were other miscellaneous bug fixes, too. See
|
||||
https://launchpad.net/percona-toolkit/+milestone/2.2.1 for the full list.
|
||||
|
||||
As the first release in a new series, 2.2 features are not yet finalized.
|
||||
In other words, we may change things like the pt-query-digest --output json
|
||||
format in future releases after receiving real-world feedback.
|
||||
|
||||
Percona Toolkit 2.2 is an exciting release with many helpful new
|
||||
features. Users are encouraged to begin upgrading, particularly given
|
||||
that, except for the forthcoming 2.1.10 release, no more work will be
|
||||
done on 2.1 (unless you're a Percona customer with a support contract or
|
||||
other agreement).
|
||||
|
||||
If you upgrade from 2.1 to 2.2, be sure to re-read tools' documentation
|
||||
to see what has changed because much as changed for certain tools.
|
||||
|
||||
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/).
|
||||
|
||||
Changelog
|
||||
---------
|
||||
|
||||
* Official support for MySQL 5.6
|
||||
* Official support for Percona XtraDB Cluster
|
||||
* Redesigned pt-query-digest
|
||||
* Redesigned pt-upgrade
|
||||
* Redesigned pt-fk-error-logger
|
||||
* Redesigned pt-deadlock-logger
|
||||
* Changed --set-vars in all tools
|
||||
* Renamed --retries to --tries in pt-online-schema-change
|
||||
* Added --check-read-only to pt-heartbeat
|
||||
* Added MySQL options to pt-mysql-summary
|
||||
* Added MySQL options to pt-stalk
|
||||
* Removed --lock-wait-timeout from pt-online-schema-change (use --set-vars)
|
||||
* Removed --lock-wait-timeout from pt-table-checksum (use --set-vars)
|
||||
* Removed pt-query-advisor
|
||||
* Removed pt-tcp-model
|
||||
* Removed pt-trend
|
||||
* Removed pt-log-player
|
||||
* Enabled --version-check by default in all tools
|
||||
* Fixed bug 1008796: Several tools don't have --database
|
||||
* Fixed bug 1087319: Quoter::serialize_list() doesn't handle multiple NULL values
|
||||
* Fixed bug 1086018: pt-config-diff needs to parse wsrep_provider_options
|
||||
* Fixed bug 1056838: pt-fk-error-logger --run-time works differently than pt-deadlock-logger --run-time
|
||||
* Fixed bug 1093016: pt-online-schema-change doesn't retry RENAME TABLE
|
||||
* Fixed bug 1113301: pt-online-schema-change blocks on metadata locks
|
||||
* Fixed bug 1125665: pt-stalk --no-stalk silently clobbers other options, acts magically
|
||||
* Fixed bug 1019648: pt-stalk truncates InnoDB status if there are too many transactions
|
||||
* Fixed bug 1087804: pt-table-checksum doesn't warn if no slaves are found
|
||||
|
||||
v2.1.9 released 2013-02-14
|
||||
==========================
|
||||
|
||||
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.
|
||||
|
||||
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
|
||||
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
|
||||
|
||||
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
|
||||
|
||||
pt-online-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.
|
||||
|
||||
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/).
|
||||
|
||||
Changelog
|
||||
---------
|
||||
|
||||
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
|
||||
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
|
||||
* Fixed bug 1099836: pt-online-schema-change fails with "Duplicate entry" on MariaDB
|
||||
* Fixed bug 1103672: pt-online-schema-change makes bad DELETE trigger if PK is re-created with new columns
|
||||
* Fixed bug 1115333: pt-pmp doesn't list the origin lib for each function
|
||||
* Fixed bug 823411: pt-query-digest shouldn't print "Error: none" for tcpdump
|
||||
* Fixed bug 1103045: pt-query-digest fails to parse non-SQL errors
|
||||
* Fixed bug 1105077: pt-table-checksum: Confusing error message with binlog_format ROW or MIXED on slave
|
||||
* Fixed bug 918056: pt-table-sync false-positive error "Cannot nibble table because MySQL chose no index instead of the PRIMARY index"
|
||||
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
|
||||
|
||||
v2.1.8 released 2012-12-21
|
||||
==========================
|
||||
|
||||
|
@@ -1,3 +1,22 @@
|
||||
# This program is copyright 2013 Percona Ireland Ltd.
|
||||
# Feedback and improvements are welcome.
|
||||
#
|
||||
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
|
||||
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
|
||||
# licenses.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
# ###########################################################################
|
||||
# Lmo::Meta package
|
||||
# ###########################################################################
|
||||
{
|
||||
package Lmo::Meta;
|
||||
use strict;
|
||||
@@ -43,3 +62,6 @@ sub attributes_for_new {
|
||||
|
||||
1;
|
||||
}
|
||||
# ###########################################################################
|
||||
# End Lmo::Meta package
|
||||
# ###########################################################################
|
||||
|
@@ -1,4 +1,24 @@
|
||||
# Mo::Object is the parent of every Mo-derived object. Here's where new
|
||||
# This program is copyright 2013 Percona Ireland Ltd.
|
||||
# Feedback and improvements are welcome.
|
||||
#
|
||||
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
|
||||
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
|
||||
# licenses.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
# ###########################################################################
|
||||
# Lmo::Object package
|
||||
# ###########################################################################
|
||||
|
||||
# Lmo::Object is the parent of every Mo-derived object. Here's where new
|
||||
# and BUILDARGS gets inherited from.
|
||||
package Lmo::Object;
|
||||
|
||||
@@ -93,5 +113,7 @@ sub meta {
|
||||
return Lmo::Meta->new(class => $class);
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
# ###########################################################################
|
||||
# End Lmo::Object package
|
||||
# ###########################################################################
|
||||
|
@@ -1,3 +1,23 @@
|
||||
# This program is copyright 2013 Percona Ireland Ltd.
|
||||
# Feedback and improvements are welcome.
|
||||
#
|
||||
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
|
||||
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
|
||||
# licenses.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
# ###########################################################################
|
||||
# Lmo::Role package
|
||||
# ###########################################################################
|
||||
|
||||
package Lmo::Role;
|
||||
|
||||
use strict;
|
||||
@@ -70,3 +90,6 @@ sub unimport {
|
||||
}
|
||||
|
||||
1;
|
||||
# ###########################################################################
|
||||
# End Lmo::Role package
|
||||
# ###########################################################################
|
||||
|
@@ -1,3 +1,22 @@
|
||||
# This program is copyright 2013 Percona Ireland Ltd.
|
||||
# Feedback and improvements are welcome.
|
||||
#
|
||||
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
|
||||
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
|
||||
# licenses.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
# ###########################################################################
|
||||
# Lmo::Types package
|
||||
# ###########################################################################
|
||||
package Lmo::Types;
|
||||
|
||||
use strict;
|
||||
@@ -96,3 +115,6 @@ sub _nested_constraints {
|
||||
}
|
||||
|
||||
1;
|
||||
# ###########################################################################
|
||||
# End Lmo::Types package
|
||||
# ###########################################################################
|
||||
|
@@ -1,4 +1,24 @@
|
||||
# This program is copyright 2013 Percona Ireland Ltd.
|
||||
# Feedback and improvements are welcome.
|
||||
#
|
||||
# THIS PROGRAM IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation, version 2; OR the Perl Artistic License. On UNIX and similar
|
||||
# systems, you can issue `man perlgpl' or `man perlartistic' to read these
|
||||
# licenses.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
# Place, Suite 330, Boston, MA 02111-1307 USA.
|
||||
# ###########################################################################
|
||||
# Lmo::Types package
|
||||
# ###########################################################################
|
||||
package Lmo::Utils;
|
||||
|
||||
use strict;
|
||||
use warnings qw( FATAL all );
|
||||
require Exporter;
|
||||
@@ -6,7 +26,12 @@ our (@ISA, @EXPORT, @EXPORT_OK);
|
||||
|
||||
BEGIN {
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = @EXPORT_OK = qw(_install_coderef _unimport_coderefs _glob_for _stash_for);
|
||||
@EXPORT = @EXPORT_OK = qw(
|
||||
_install_coderef
|
||||
_unimport_coderefs
|
||||
_glob_for
|
||||
_stash_for
|
||||
);
|
||||
}
|
||||
|
||||
{
|
||||
@@ -44,3 +69,6 @@ sub _unimport_coderefs {
|
||||
}
|
||||
|
||||
1;
|
||||
# ###########################################################################
|
||||
# End Lmo::Utils package
|
||||
# ###########################################################################
|
||||
|
@@ -238,6 +238,41 @@ is(
|
||||
"No slave error"
|
||||
);
|
||||
|
||||
# #############################################################################
|
||||
# --check-read-only
|
||||
# #############################################################################
|
||||
|
||||
diag(`/tmp/12345/use -u root -e "GRANT ALL ON *.* TO 'bob'\@'%' IDENTIFIED BY 'msandbox'"`);
|
||||
diag(`/tmp/12345/use -u root -e "REVOKE SUPER ON *.* FROM 'bob'\@'%'"`);
|
||||
|
||||
$output = output(
|
||||
sub { pt_heartbeat::main("u=bob,F=/tmp/12346/my.sandbox.cnf",
|
||||
qw(-D test --update --replace --run-time 1))
|
||||
},
|
||||
stderr => 1
|
||||
);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/--read-only/,
|
||||
"By default, fails if the server is read_only=1"
|
||||
);
|
||||
|
||||
$output = output(
|
||||
sub { pt_heartbeat::main("u=bob,F=/tmp/12346/my.sandbox.cnf",
|
||||
qw(-D test --update --replace --run-time 1 --check-read-only))
|
||||
},
|
||||
stderr => 1
|
||||
);
|
||||
|
||||
unlike(
|
||||
$output,
|
||||
qr/--read-only/,
|
||||
"...but just skips doing any work and waits if --check-read-only was specified"
|
||||
);
|
||||
|
||||
diag(`/tmp/12345/use -u root -e "DROP USER 'bob'\@'%'"`);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
|
@@ -358,6 +358,7 @@ build_rpm() {
|
||||
fi
|
||||
|
||||
mkdir -p rpm rpm/BUILD rpm/SOURCES rpm/RPMS rpm/SRPMS
|
||||
mkdir -p RPM
|
||||
cd rpm
|
||||
local topdir=`pwd`
|
||||
|
||||
@@ -375,7 +376,7 @@ build_rpm() {
|
||||
if [ ! -f "RPMS/noarch/$PKG-1.noarch.rpm" ]; then
|
||||
die "RPMS/noarch/$PKG-1.noarch.rpm did not build"
|
||||
fi
|
||||
mv "RPMS/noarch/$PKG-1.noarch.rpm" $RELEASE_DIR
|
||||
mv "RPMS/noarch/$PKG-1.noarch.rpm" $RELEASE_DIR/RPM
|
||||
rm -rf $RELEASE_DIR/rpm
|
||||
|
||||
echo "OK"
|
||||
@@ -398,9 +399,9 @@ build_deb() {
|
||||
fi
|
||||
cp $BRANCH/config/deb/* $RELEASE_DIR/$PKG/debian/
|
||||
|
||||
# Build Debian "binary" package.
|
||||
# Build Debian binary and source packages.
|
||||
cd $RELEASE_DIR/$PKG
|
||||
dpkg-buildpackage -b -us -uc >$tmpdir/dpkg-buildpackage 2>&1
|
||||
dpkg-buildpackage -us -uc >$tmpdir/dpkg-buildpackage 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
warn "dpkg-buildpackage has warnings; see $tmpdir/dpkg-buildpackage"
|
||||
fi
|
||||
@@ -410,6 +411,9 @@ build_deb() {
|
||||
cd $RELEASE_DIR
|
||||
rm -rf *.changes >/dev/null
|
||||
|
||||
mkdir -p deb
|
||||
mv percona-toolkit_* deb/
|
||||
|
||||
echo "OK"
|
||||
}
|
||||
|
||||
|
@@ -6,21 +6,21 @@ use English qw(-no_match_vars);
|
||||
|
||||
eval {
|
||||
my ($year, $copyright) = @ARGV;
|
||||
my ($years) = $copyright =~ m/(\S+) Percona Inc./;
|
||||
my ($years) = $copyright =~ m/(\S+) Percona Ireland Ltd/;
|
||||
my ($first_year, $last_year) = split /-/, $years;
|
||||
|
||||
my $new_copyright;
|
||||
if ( $first_year && $last_year ) {
|
||||
$new_copyright = "$first_year-$year Percona Inc."
|
||||
$new_copyright = "$first_year-$year Percona Ireland Ltd"
|
||||
}
|
||||
elsif ( $first_year < $year ) {
|
||||
$new_copyright = "$first_year-$year Percona Inc."
|
||||
$new_copyright = "$first_year-$year Percona Ireland Ltd"
|
||||
}
|
||||
else {
|
||||
$new_copyright = "$first_year Percona Inc."
|
||||
$new_copyright = "$first_year Percona Ireland Ltd"
|
||||
}
|
||||
|
||||
$copyright =~ s/\S+ Percona Inc./$new_copyright/;
|
||||
$copyright =~ s/\S+ Percona Ireland Ltd/$new_copyright/;
|
||||
print $copyright;
|
||||
};
|
||||
die $EVAL_ERROR if $EVAL_ERROR;
|
||||
|
@@ -6,8 +6,6 @@ use English qw(-no_match_vars);
|
||||
|
||||
use IO::File;
|
||||
|
||||
use HTML::Entities;
|
||||
|
||||
use File::Basename qw(basename);
|
||||
use Pod::POM::View::Restructured;
|
||||
|
||||
|
5771
util/pod2rst-fixed.packed
Executable file
5771
util/pod2rst-fixed.packed
Executable file
File diff suppressed because it is too large
Load Diff
@@ -68,18 +68,20 @@ RST_DIR=$DOCS_DIR/user
|
||||
|
||||
fix_html () {
|
||||
local name="$1"
|
||||
perl -MFile::Basename=basename -MFile::Slurp=read_file,write_file -le '
|
||||
perl -MFile::Basename=basename -le '
|
||||
my $f = shift;
|
||||
my $tool = basename($f);
|
||||
$tool =~ s/\.html//;
|
||||
my $out = read_file($f);
|
||||
my $out = do { open my $fh, '<', $f or die $!; local $/; <$fh> };
|
||||
$out =~ s{
|
||||
\Q<dt id="\E(cmdoption-$tool--)\Q">\E\s*
|
||||
\Q<tt class="descname">--</tt><tt class="descclassname">\E([^<]+)
|
||||
\Q</tt><a class="headerlink" href="\E[^"]+"
|
||||
}{<dt id="$1$2">
|
||||
<tt class="descname">--$2</tt><tt class="descclassname"></tt><a class="headerlink" href="#$1$2"}xg;
|
||||
write_file($f, $out);
|
||||
open my $fh, '>', $f or die "Cannot open $f for writing: $!";
|
||||
print { $f } $out;
|
||||
close $fh or die "Cannot close $f: $!";
|
||||
' $RST_DIR/html/$name.html
|
||||
}
|
||||
|
||||
@@ -91,7 +93,7 @@ write_rst() {
|
||||
return
|
||||
fi
|
||||
|
||||
$BRANCH/util/pod2rst-fixed $file > $RST_DIR/$tool.rst
|
||||
$BRANCH/util/pod2rst-fixed.packed $file > $RST_DIR/$tool.rst
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Wrote $RST_DIR/$tool.rst"
|
||||
else
|
||||
@@ -121,7 +123,7 @@ write_sections() {
|
||||
$BRANCH/util/extract-text $DOCS_DIR/percona-toolkit.pod "^=head1 $header" "^=head1|=cut" > /tmp/$filename.pod
|
||||
|
||||
# Convert POD to RST and remove all the Perl highlight blocks.
|
||||
cat /tmp/$filename.pod | pod2rst | sed -e 's/.. highlight:: perl//g' > /tmp/$filename.tmp
|
||||
$BRANCH/util/pod2rst-fixed.packed /tmp/$filename.pod | sed -e 's/.. highlight:: perl//g' > /tmp/$filename.tmp
|
||||
|
||||
# Remove extra blank lines.
|
||||
cat -s /tmp/$filename.tmp > $RST_DIR/$filename.rst
|
||||
|
Reference in New Issue
Block a user