Hello community, here is the log from the commit of package percona-toolkit for openSUSE:Factory checked in at 2015-04-15 16:24:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/percona-toolkit (Old) and /work/SRC/openSUSE:Factory/.percona-toolkit.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "percona-toolkit" Changes: -------- --- /work/SRC/openSUSE:Factory/percona-toolkit/percona-toolkit.changes 2015-02-25 02:18:40.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.percona-toolkit.new/percona-toolkit.changes 2015-04-15 16:24:52.000000000 +0200 @@ -1,0 +2,40 @@ +Tue Apr 14 19:58:49 UTC 2015 - astie...@suse.com + +- Percona Toolkit 2.2.14 + * pt-slave-find can now resolve the IP address and show the + slave's hostname. This can be done with the new + --resolve-address option. + * pt-table-sync can now ignore the tables whose names match a + specific Perl regex with the new --ignore-tables-regex option. + * Fixed lp#925781: Inserting non-BMP characters into a column + with utf8 charset would cause the Incorrect + string value error when running the + pt-table-checksum. + * Fixed lp#1368244: pt-online-schema-change + --alter-foreign-keys-method=drop-swap` was + not atomic and thus it could be interrupted. + Fixed by disabling common interrupt signals + during the critical drop-rename phase. + * Fixed lp#1381280: pt-table-checksum was failing on BINARY field + in Primary Key. Fixed by implementing new + --binary-index flag to optionally create + checksum table using BLOB data type. + * Fixed lp#1421405: Running pt-upgrade against a log with many + identical (or similar) queries was producing + repeated sections with the same fingerprint. + * Fixed lp#1402730: pt-duplicate-key-checker was not checking for + duplicate keys when --verbose option was set. + * Fixed lp#1406390: A race condition was causing pt-heartbeat to + crash with sleep argument error. + * Fixed lp#1417558: pt-stalk when used along with + --collect-strace didn't write the strace + output to the expected destination file. + * Fixed lp#1421781: pt-upgrade would fail when log contained + SELECT...INTO queries. Fixed by ignoring/ + skipping those queries. + * Fixed lp#1425478: pt-stalk was removing non-empty files that + were starting with an empty line. + * Fixed lp#1419098: Fixed bad formatting in the pt-table-checksum + documentation. + +------------------------------------------------------------------- Old: ---- percona-toolkit-2.2.13.tar.gz New: ---- percona-toolkit-2.2.14.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ percona-toolkit.spec ++++++ --- /var/tmp/diff_new_pack.eq1VBF/_old 2015-04-15 16:24:53.000000000 +0200 +++ /var/tmp/diff_new_pack.eq1VBF/_new 2015-04-15 16:24:53.000000000 +0200 @@ -17,7 +17,7 @@ Name: percona-toolkit -Version: 2.2.13 +Version: 2.2.14 Release: 0 Summary: Advanced MySQL and system command-line tools License: GPL-2.0 ++++++ percona-toolkit-2.2.13.tar.gz -> percona-toolkit-2.2.14.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/Changelog new/percona-toolkit-2.2.14/Changelog --- old/percona-toolkit-2.2.13/Changelog 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/Changelog 2015-04-10 11:12:11.000000000 +0200 @@ -1,5 +1,28 @@ Changelog for Percona Toolkit +v2.2.14 released 2015-04-14 + + + * Fixed bug 1402730 pt-duplicate-key-checker seems useless with MySQL 5.6 + * Fixed bug 1415646 pt-duplicate-key-checker documentation does not explain how Size Duplicate Indexes is calculated + * Fixed bug 1406390 pt-heartbeat crashes with sleep argument error + * Fixed bug 1368244 pt-online-schema-change --alter-foreign-keys-method=drop-swap is not atomic + * FIxed bug 1417864 pt-online-schema-change documentation, the interpretation of --tries create_triggers:5:0.5,drop_triggers:5:0.5 is wrong + * Fixed bug 1404313 pt-query-digest: specifying a file that doesn't exist as log causes the tool to wait for STDIN instead of giving an error + * Feature 1418446 pt-slave-find resolve IP addresses option + * Fixed bug 1417558 pt-stalk with --collect-strace output doesn't go to an YYYY_MM_DD_HH_mm_ss-strace file + * Fixed bug 1425478 pt-stalk removes non-empty files that start with empty line + * Fixed bug 925781 pt-table-checksum checksum error when default-character-set = utf8 + * Fixed bug 1381280 pt-table-checksum fails on BINARY field in PK + * Feature 1439842 pt-table-sync lacks --ignore-tables-regex option + * Fixed bug 1401399 pt-table-sync fails to close one db handle + * Fixed bug 1442277 pt-table-sync-ignores system databases but doc doesn't clarify this + * Fixed bug 1421781 pt-upgrade fails on SELECT ... INTO queries + * Fixed bug 1421405 pt-upgrade fails to aggregate queries based on fingerprint + * Fixed bug 1439348 pt-upgrade erroneously reports number of diffs + * Fixed bug 1421025 rpm missing dependency on perl-TermReadKey for --ask-pass + + v2.2.13 released 2015-01-26 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/Makefile.PL new/percona-toolkit-2.2.14/Makefile.PL --- old/percona-toolkit-2.2.13/Makefile.PL 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/Makefile.PL 2015-04-10 11:12:11.000000000 +0200 @@ -2,7 +2,7 @@ WriteMakefile( NAME => 'percona-toolkit', - VERSION => '2.2.13', + VERSION => '2.2.14', EXE_FILES => [ <bin/*> ], MAN1PODS => { 'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-align new/percona-toolkit-2.2.14/bin/pt-align --- old/percona-toolkit-2.2.13/bin/pt-align 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-align 2015-04-10 11:12:11.000000000 +0200 @@ -1331,6 +1331,6 @@ =head1 VERSION -pt-align 2.2.13 +pt-align 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-archiver new/percona-toolkit-2.2.14/bin/pt-archiver --- old/percona-toolkit-2.2.13/bin/pt-archiver 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-archiver 2015-04-10 11:12:11.000000000 +0200 @@ -43,7 +43,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -7910,6 +7910,6 @@ =head1 VERSION -pt-archiver 2.2.13 +pt-archiver 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-config-diff new/percona-toolkit-2.2.14/bin/pt-config-diff --- old/percona-toolkit-2.2.13/bin/pt-config-diff 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-config-diff 2015-04-10 11:12:11.000000000 +0200 @@ -43,7 +43,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -5783,6 +5783,6 @@ =head1 VERSION -pt-config-diff 2.2.13 +pt-config-diff 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-deadlock-logger new/percona-toolkit-2.2.14/bin/pt-deadlock-logger --- old/percona-toolkit-2.2.13/bin/pt-deadlock-logger 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-deadlock-logger 2015-04-10 11:12:11.000000000 +0200 @@ -42,7 +42,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -5573,6 +5573,6 @@ =head1 VERSION -pt-deadlock-logger 2.2.13 +pt-deadlock-logger 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-diskstats new/percona-toolkit-2.2.14/bin/pt-diskstats --- old/percona-toolkit-2.2.13/bin/pt-diskstats 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-diskstats 2015-04-10 11:12:11.000000000 +0200 @@ -38,7 +38,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -5586,6 +5586,6 @@ =head1 VERSION -pt-diskstats 2.2.13 +pt-diskstats 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-duplicate-key-checker new/percona-toolkit-2.2.14/bin/pt-duplicate-key-checker --- old/percona-toolkit-2.2.13/bin/pt-duplicate-key-checker 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-duplicate-key-checker 2015-04-10 11:12:11.000000000 +0200 @@ -39,7 +39,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -2336,7 +2336,8 @@ my @dupes; KEY: - foreach my $key ( values %keys ) { + # sort by key name for consistent testing + foreach my $key ( sort {$a->{name} cmp $b->{name}} values %keys ) { $key->{real_cols} = [ @{$key->{cols}} ]; $key->{len_cols} = length $key->{colnames}; @@ -2412,7 +2413,8 @@ sub get_duplicate_fks { my ( $self, $fks, %args ) = @_; die "I need a fks argument" unless $fks; - my @fks = values %$fks; + # sort by name for consistent testing + my @fks = sort {$a->{name} cmp $b->{name}} values %$fks; my @dupes; foreach my $i ( 0..$#fks - 1 ) { @@ -4881,7 +4883,7 @@ sub main { local @ARGV = @_; # set global ARGV for this package - my %summary = ( 'Total Indexes' => 0 ); + my %summary = ( 'items' => {'Total Indexes' => 0} ); my %seen_tbl; my $q = new Quoter(); @@ -4972,51 +4974,49 @@ print_all_keys($keys, $tbl, \%seen_tbl) if $keys; print_all_keys($fks, $tbl, \%seen_tbl) if $fks; } - else { - PTDEBUG && _d('Getting duplicate keys on', - $tbl->{db}, $tbl->{tbl}); - if ( $keys ) { - $dk->get_duplicate_keys( - $keys, - clustered_key => $clustered_key, - tbl_info => $tbl, - callback => \&print_duplicate_key, - %tp_opts, - # get_duplicate_keys() ignores these args but passes them - # to the callback: - dbh => $dbh, - is_fk => 0, - o => $o, - ks => $ks, - tp => $tp, - q => $q, - seen_tbl => \%seen_tbl, - summary => \%summary, - ); - } - if ( $fks ) { - $dk->get_duplicate_fks( - $fks, - tbl_info => $tbl, - callback => \&print_duplicate_key, - %tp_opts, - # get_duplicate_fks() ignores these args but passes them - # to the callback: - dbh => $dbh, - is_fk => 1, - o => $o, - ks => $ks, - tp => $tp, - q => $q, - seen_tbl => \%seen_tbl, - summary => \%summary, - ); - } + PTDEBUG && _d('Getting duplicate keys on', + $tbl->{db}, $tbl->{tbl}); + if ( $keys ) { + $dk->get_duplicate_keys( + $keys, + clustered_key => $clustered_key, + tbl_info => $tbl, + callback => \&print_duplicate_key, + %tp_opts, + # get_duplicate_keys() ignores these args but passes them + # to the callback: + dbh => $dbh, + is_fk => 0, + o => $o, + ks => $ks, + tp => $tp, + q => $q, + seen_tbl => \%seen_tbl, + summary => \%summary, + ); + } + if ( $fks ) { + $dk->get_duplicate_fks( + $fks, + tbl_info => $tbl, + callback => \&print_duplicate_key, + %tp_opts, + # get_duplicate_fks() ignores these args but passes them + # to the callback: + dbh => $dbh, + is_fk => 1, + o => $o, + ks => $ks, + tp => $tp, + q => $q, + seen_tbl => \%seen_tbl, + summary => \%summary, + ); } # Always count Total Keys so print_key_summary won't die # because %summary is empty. - $summary{'Total Indexes'} += (scalar keys %$keys) + $summary{items}->{'Total Indexes'} += (scalar keys %$keys) + (scalar keys %$fks) } }; @@ -5044,7 +5044,8 @@ printf $hdr_fmt, "$db.$tbl"; printf $hdr_fmt, ('#' x $hdr_width); } - foreach my $key ( values %$keys ) { + # Print keys sorted by name (easier to test) + foreach my $key ( sort {$a->{name} cmp $b->{name}} values %$keys ) { print "\n# $key->{name} ($key->{colnames})"; } print "\n"; @@ -5069,6 +5070,10 @@ my $summary = $args{summary}; my $struct = $tp->parse($args{tbl_info}->{ddl}); + if ($dupe->{ddl} =~ /FULLTEXT/) { + $summary->{has_fulltext_dupe}++; + } + if ( !$seen_tbl->{"$db$tbl"}++ ) { printf $hdr_fmt, ('#' x $hdr_width); printf $hdr_fmt, "$db.$tbl"; @@ -5111,7 +5116,7 @@ print "\n"; if ( $o->get('summary') && $summary ) { - $summary->{'Total Duplicate Indexes'} += 1; + $summary->{'items'}->{'Total Duplicate Indexes'} += 1; my ($size, $chosen_key) = $ks->get_key_size( name => $dupe->{key}, cols => $dupe->{cols}, @@ -5128,7 +5133,7 @@ $size ||= 0; # Create Size Duplicate Keys summary even if there's no valid keys. - $summary->{'Size Duplicate Indexes'} += $size; + $summary->{'items'}->{'Size Duplicate Indexes'} += $size; if ( $size ) { if ( $chosen_key && $chosen_key ne $dupe->{key} ) { @@ -5143,14 +5148,19 @@ sub print_key_summary { my ( %summary ) = @_; + my $items = $summary{items}; printf $hdr_fmt, ('#' x $hdr_width); printf $hdr_fmt, 'Summary of indexes'; printf $hdr_fmt, ('#' x $hdr_width); print "\n"; - my $max_item = max(map { length($_) } keys %summary); - my $line_fmt = "# %-${max_item}s %-s\n"; - foreach my $item ( sort keys %summary ) { - printf $line_fmt, $item, $summary{$item}; + my $max_item = max(map { length($_) } keys %$items); + my $line_fmt = "# %-${max_item}s %-s"; + foreach my $item ( sort keys %$items ) { + printf $line_fmt, $item, $items->{$item}; + if ( $item eq 'Size Duplicate Indexes' && $summary{has_fulltext_dupe} ) { + print ' (not including FULLTEXT indexes)'; + } + print "\n"; } return; } @@ -5220,6 +5230,10 @@ same columns as another in the same table, and references the same parent table. +The output ends with a short summary that includes an estimate of the total +size, in bytes, that the duplicate indexes are using. This is calculated by +multiplying the index length by the number of rows in their respective tables. + =head1 OPTIONS This tool accepts additional command-line arguments. Refer to the @@ -5607,6 +5621,6 @@ =head1 VERSION -pt-duplicate-key-checker 2.2.13 +pt-duplicate-key-checker 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-fifo-split new/percona-toolkit-2.2.14/bin/pt-fifo-split --- old/percona-toolkit-2.2.13/bin/pt-fifo-split 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-fifo-split 2015-04-10 11:12:11.000000000 +0200 @@ -1620,6 +1620,6 @@ =head1 VERSION -pt-fifo-split 2.2.13 +pt-fifo-split 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-find new/percona-toolkit-2.2.14/bin/pt-find --- old/percona-toolkit-2.2.13/bin/pt-find 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-find 2015-04-10 11:12:11.000000000 +0200 @@ -35,7 +35,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -4991,6 +4991,6 @@ =head1 VERSION -pt-find 2.2.13 +pt-find 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-fingerprint new/percona-toolkit-2.2.14/bin/pt-fingerprint --- old/percona-toolkit-2.2.13/bin/pt-fingerprint 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-fingerprint 2015-04-10 11:12:11.000000000 +0200 @@ -2211,6 +2211,6 @@ =head1 VERSION -pt-fingerprint 2.2.13 +pt-fingerprint 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-fk-error-logger new/percona-toolkit-2.2.14/bin/pt-fk-error-logger --- old/percona-toolkit-2.2.13/bin/pt-fk-error-logger 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-fk-error-logger 2015-04-10 11:12:11.000000000 +0200 @@ -37,7 +37,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -4559,6 +4559,6 @@ =head1 VERSION -pt-fk-error-logger 2.2.13 +pt-fk-error-logger 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-heartbeat new/percona-toolkit-2.2.14/bin/pt-heartbeat --- old/percona-toolkit-2.2.13/bin/pt-heartbeat 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-heartbeat 2015-04-10 11:12:11.000000000 +0200 @@ -38,7 +38,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -5286,13 +5286,16 @@ ) { eval { my $next_interval = $get_next_interval->(); - if ( time >= $next_interval ) { + # save current time in variable to avoid race condition + # https://bugs.launchpad.net/percona-toolkit/+bug/1406390 + my $time = time; + if ( $time >= $next_interval ) { do { $next_interval = $get_next_interval->() } - until $next_interval > time; + until $next_interval > $time; PTDEBUG && _d("Missed last interval; next interval:", ts($next_interval)); } - sleep $next_interval - time; + sleep $next_interval - $time; PTDEBUG && _d('Woke up at', ts(time)); # Connect or reconnect if necessary. @@ -5419,13 +5422,16 @@ PTDEBUG && _d('Checking slave', $dp->as_string($dsn)); my $next_interval = $get_next_interval->(); - if ( time >= $next_interval ) { + # save current time in variable to avoid race condition + # https://bugs.launchpad.net/percona-toolkit/+bug/1406390 + my $time = time; + if ( $time >= $next_interval ) { do { $next_interval = $get_next_interval->() } - until $next_interval > time; + until $next_interval > $time; PTDEBUG && _d("Missed last interval; next interval:", ts($next_interval)); } - sleep $next_interval - time; + sleep $next_interval - $time; PTDEBUG && _d('Woke up at', ts(time)); my ($delay, $hostname, $master_server_id) = $get_delay->($sth); @@ -6225,6 +6231,6 @@ =head1 VERSION -pt-heartbeat 2.2.13 +pt-heartbeat 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-index-usage new/percona-toolkit-2.2.14/bin/pt-index-usage --- old/percona-toolkit-2.2.13/bin/pt-index-usage 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-index-usage 2015-04-10 11:12:11.000000000 +0200 @@ -45,7 +45,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -7555,6 +7555,6 @@ =head1 VERSION -pt-index-usage 2.2.13 +pt-index-usage 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-ioprofile new/percona-toolkit-2.2.14/bin/pt-ioprofile --- old/percona-toolkit-2.2.13/bin/pt-ioprofile 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-ioprofile 2015-04-10 11:12:11.000000000 +0200 @@ -1125,7 +1125,7 @@ =head1 VERSION -pt-ioprofile 2.2.13 +pt-ioprofile 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-kill new/percona-toolkit-2.2.14/bin/pt-kill --- old/percona-toolkit-2.2.13/bin/pt-kill 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-kill 2015-04-10 11:12:11.000000000 +0200 @@ -47,7 +47,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -8254,6 +8254,6 @@ =head1 VERSION -pt-kill 2.2.13 +pt-kill 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-mext new/percona-toolkit-2.2.14/bin/pt-mext --- old/percona-toolkit-2.2.13/bin/pt-mext 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-mext 2015-04-10 11:12:11.000000000 +0200 @@ -801,7 +801,7 @@ =head1 VERSION -pt-mext 2.2.13 +pt-mext 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-mysql-summary new/percona-toolkit-2.2.14/bin/pt-mysql-summary --- old/percona-toolkit-2.2.13/bin/pt-mysql-summary 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-mysql-summary 2015-04-10 11:12:11.000000000 +0200 @@ -3088,7 +3088,7 @@ =head1 VERSION -pt-mysql-summary 2.2.13 +pt-mysql-summary 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-online-schema-change new/percona-toolkit-2.2.14/bin/pt-online-schema-change --- old/percona-toolkit-2.2.13/bin/pt-online-schema-change 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-online-schema-change 2015-04-10 11:12:11.000000000 +0200 @@ -55,7 +55,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -7970,6 +7970,7 @@ my $exit_status = 0; my $oktorun = 1; +my $dont_interrupt_now = 0; my @drop_trigger_sqls; my @triggers_not_dropped; @@ -7983,6 +7984,7 @@ $oktorun = 1; @drop_trigger_sqls = (); @triggers_not_dropped = (); + $dont_interrupt_now = 0; my %stats = ( INSERT => 0, @@ -10251,6 +10253,11 @@ "DROP TABLE IF EXISTS $orig_tbl->{name}", "RENAME TABLE $new_tbl->{name} TO $orig_tbl->{name}", ); + + # we don't want to be interrupted during the swap! + # since it might leave original table dropped + # https://bugs.launchpad.net/percona-toolkit/+bug/1368244 + $dont_interrupt_now = 1; foreach my $sql ( @sqls ) { PTDEBUG && _d($sql); @@ -10269,6 +10276,8 @@ } } + $dont_interrupt_now = 0; + if ( $o->get('execute') ) { print ts("Dropped and swapped tables OK.\n"); } @@ -10667,6 +10676,11 @@ # Catches signals so we can exit gracefully. sub sig_int { my ( $signal ) = @_; + if ( $dont_interrupt_now ) { + # we're in the middle of something that shouldn't be interrupted + PTDEBUG && _d("Received Signal: \"$signal\" in middle of critical operation. Continuing anyway."); + return; + } $oktorun = 0; # flag for cleanup tasks print STDERR "# Exiting on SIG$signal.\n"; # restore terminal to normal state in case CTL+C issued while @@ -11525,7 +11539,7 @@ --tries create_triggers:5:0.5,drop_triggers:5:0.5 -That makes the tool try C<create_triggers> and C<drop_triggers> 2 times +That makes the tool try C<create_triggers> and C<drop_triggers> 5 times with a 0.5 second wait between tries. So the format is: operation:tries:wait[,operation:tries:wait] @@ -11807,6 +11821,6 @@ =head1 VERSION -pt-online-schema-change 2.2.13 +pt-online-schema-change 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-pmp new/percona-toolkit-2.2.14/bin/pt-pmp --- old/percona-toolkit-2.2.13/bin/pt-pmp 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-pmp 2015-04-10 11:12:11.000000000 +0200 @@ -895,7 +895,7 @@ =head1 VERSION -pt-pmp 2.2.13 +pt-pmp 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-query-digest new/percona-toolkit-2.2.14/bin/pt-query-digest --- old/percona-toolkit-2.2.13/bin/pt-query-digest 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-query-digest 2015-04-10 11:12:11.000000000 +0200 @@ -64,7 +64,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -13186,6 +13186,10 @@ # Open the next file. my ($fh, $filename, $filesize) = $next_file->(); if ( $fh ) { + my $fileno = fileno $fh; + if ($fileno == 0) { + print "Reading from STDIN ...\n"; + } PTDEBUG && _d('Reading', $filename); PTDEBUG && _d('File size:', $filesize); # catch if user is trying to use an uncoverted (raw) binlog # issue 1377888 @@ -16624,6 +16628,6 @@ =head1 VERSION -pt-query-digest 2.2.13 +pt-query-digest 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-show-grants new/percona-toolkit-2.2.14/bin/pt-show-grants --- old/percona-toolkit-2.2.13/bin/pt-show-grants 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-show-grants 2015-04-10 11:12:11.000000000 +0200 @@ -2414,6 +2414,6 @@ =head1 VERSION -pt-show-grants 2.2.13 +pt-show-grants 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-sift new/percona-toolkit-2.2.14/bin/pt-sift --- old/percona-toolkit-2.2.13/bin/pt-sift 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-sift 2015-04-10 11:12:11.000000000 +0200 @@ -1243,7 +1243,7 @@ =head1 VERSION -pt-sift 2.2.13 +pt-sift 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-slave-delay new/percona-toolkit-2.2.14/bin/pt-slave-delay --- old/percona-toolkit-2.2.13/bin/pt-slave-delay 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-slave-delay 2015-04-10 11:12:11.000000000 +0200 @@ -40,7 +40,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -4876,6 +4876,6 @@ =head1 VERSION -pt-slave-delay 2.2.13 +pt-slave-delay 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-slave-find new/percona-toolkit-2.2.14/bin/pt-slave-find --- old/percona-toolkit-2.2.13/bin/pt-slave-find 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-slave-find 2015-04-10 11:12:11.000000000 +0200 @@ -3778,6 +3778,7 @@ node => $root, print_node => $print_node, MasterSlave => $ms, + resolve_address => $o->get('resolve-address'), ); return 0; @@ -3823,7 +3824,7 @@ sub print_node_hostname { my ( %args ) = @_; - my ($ms, $node, $level) = @args{qw(MasterSlave node level)}; + my ($ms, $node, $level, $resolve_address) = @args{qw(MasterSlave node level resolve_address)}; die "I need a node" unless $node; $level ||= 0; @@ -3833,15 +3834,16 @@ my $prefix = $level ? (' ' x (($level-1)*3) . '+- ') : ''; PTDEBUG && _d('level', $level, 'host', $host); - print "$prefix$host\n"; + + print_host($prefix, $host, $resolve_address); return; } sub print_node_summary { my ( %args ) = @_; - my ($ms, $node, $level) - = @args{qw(MasterSlave node level)}; + my ($ms, $node, $level, $resolve_address) + = @args{qw(MasterSlave node level resolve_address)}; die "I need a node" unless $node; $level ||= 0; @@ -3851,7 +3853,7 @@ PTDEBUG && _d('level', $level, 'host', $host); - print "$prefix$host\n"; + print_host($prefix, $host, $resolve_address); my $dbh = $node->{dbh}; if ( !$dbh ) { @@ -3923,6 +3925,28 @@ return; } +sub print_host { + my ($prefix, $host, $resolve_address) = @_; + + my $hostname; + # resolve address to hostname if user requested it + if($resolve_address) { + use Socket; + my $without_port = $host; + $without_port =~ s/:\d*$//; # strip port from ip address + my $packed = inet_aton($without_port); + if ($packed) { + $hostname = gethostbyaddr($packed, AF_INET); + } + } + if ($hostname) { + print "$prefix$host ($hostname)\n"; + } + else { + print "$prefix$host\n"; + } +} + sub _d { my ($package, undef, $line) = caller 0; @_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; } @@ -4155,6 +4179,16 @@ =back +=item --resolve-address + +Resolve ip-address to hostname. Report will print both IP and hostname. + +Example: + + 10.10.7.14 (dbase1.sample.net) + +Might delay runtime a few seconds. + =item --set-vars type: Array @@ -4342,6 +4376,6 @@ =head1 VERSION -pt-slave-find 2.2.13 +pt-slave-find 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-slave-restart new/percona-toolkit-2.2.14/bin/pt-slave-restart --- old/percona-toolkit-2.2.13/bin/pt-slave-restart 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-slave-restart 2015-04-10 11:12:11.000000000 +0200 @@ -41,7 +41,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -5944,6 +5944,6 @@ =head1 VERSION -pt-slave-restart 2.2.13 +pt-slave-restart 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-stalk new/percona-toolkit-2.2.14/bin/pt-stalk --- old/percona-toolkit-2.2.13/bin/pt-stalk 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-stalk 2015-04-10 11:12:11.000000000 +0200 @@ -857,7 +857,7 @@ have_oprofile="yes" fi elif [ "$CMD_STRACE" -a "$OPT_COLLECT_STRACE" -a "$mysqld_pid" ]; then - $CMD_STRACE -T -s 0 -f -p $mysqld_pid > "${DEST}/$d-strace" & + $CMD_STRACE -T -s 0 -f -p $mysqld_pid -o "$d/$p-strace" & local strace_pid=$! fi @@ -1000,7 +1000,7 @@ wait_for_subshells $OPT_RUN_TIME kill_all_subshells for file in "$d/$p-"*; do - if [ -z "$(grep -v '^TS ' --max-count 1 "$file")" ]; then + if [ -z "$(grep -v '^TS ' --max-count 10 "$file")" ]; then log "Removing empty file $file"; rm "$file" fi @@ -2241,7 +2241,7 @@ =head1 VERSION -pt-stalk 2.2.13 +pt-stalk 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-summary new/percona-toolkit-2.2.14/bin/pt-summary --- old/percona-toolkit-2.2.13/bin/pt-summary 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-summary 2015-04-10 11:12:11.000000000 +0200 @@ -2696,7 +2696,7 @@ =head1 VERSION -pt-summary 2.2.13 +pt-summary 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-table-checksum new/percona-toolkit-2.2.14/bin/pt-table-checksum --- old/percona-toolkit-2.2.13/bin/pt-table-checksum 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-table-checksum 2015-04-10 11:12:11.000000000 +0200 @@ -57,7 +57,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -10866,6 +10866,7 @@ } } } + # USE the correct db (probably the repl db, but maybe --replicate-database). use_repl_db(%args); @@ -10888,6 +10889,7 @@ . "You need to create the table.\n"; } + # We used to check the table privs here, but: # https://bugs.launchpad.net/percona-toolkit/+bug/916168 @@ -10974,6 +10976,18 @@ } } + if ( $o->get('binary-index') ) { + PTDEBUG && _d('--binary-index : checking if replicate table has binary type columns'); + my $create_table = $tp->get_create_table( $dbh, $db, $tbl ); + if ( $create_table !~ /lower_boundary`?\s+BLOB/si + || $create_table !~ /upper_boundary`?\s+BLOB/si ) + { + die "--binary-index was specified but the current checksum table ($db.$tbl) uses" + ." TEXT columns. To use BLOB columns, drop the current checksum table, then recreate" + ." it by specifying --create-replicate-table --binary-index."; + } + } + return; # success, repl table is ready to go } @@ -11132,6 +11146,10 @@ my $sql = $o->read_para_after(__FILE__, qr/MAGIC_create_replicate/); $sql =~ s/CREATE TABLE checksums/CREATE TABLE IF NOT EXISTS $repl_table/; $sql =~ s/;$//; + if ( $o->get('binary-index') ) { + $sql =~ s/`?lower_boundary`?\s+TEXT/`lower_boundary` BLOB/is; + $sql =~ s/`?upper_boundary`?\s+TEXT/`upper_boundary` BLOB/is; + } PTDEBUG && _d($dbh, $sql); eval { $dbh->do($sql); @@ -11808,6 +11826,15 @@ See "Replicas using row-based replication" under L<"LIMITATIONS">. +=item --binary-index + +This option modifies the behavior of L<"--create-replicate-table"> such that the +replicate table's upper and lower boundary columns are created with the BLOB +data type. +This is useful in cases where you have trouble checksuming tables with keys that +include a binary data type or that have non-standard character sets. +See L<"--replicate">. + =item --check-interval type: time; default: 1; group: Throttle @@ -12342,22 +12369,24 @@ structure (MAGIC_create_replicate): CREATE TABLE checksums ( - db char(64) NOT NULL, - tbl char(64) NOT NULL, - chunk int NOT NULL, - chunk_time float NULL, - chunk_index varchar(200) NULL, - lower_boundary text NULL, - upper_boundary text NULL, - this_crc char(40) NOT NULL, - this_cnt int NOT NULL, - master_crc char(40) NULL, - master_cnt int NULL, - ts timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + db CHAR(64) NOT NULL, + tbl CHAR(64) NOT NULL, + chunk INT NOT NULL, + chunk_time FLOAT NULL, + chunk_index VARCHAR(200) NULL, + lower_boundary TEXT NULL, + upper_boundary TEXT NULL, + this_crc CHAR(40) NOT NULL, + this_cnt INT NOT NULL, + master_crc CHAR(40) NULL, + master_cnt INT NULL, + ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (db, tbl, chunk), INDEX ts_db_tbl (ts, db, tbl) ) ENGINE=InnoDB; +Note: lower_boundary and upper_boundary data type can be BLOB. See L<"--binary-index">. + By default, L<"--[no]create-replicate-table"> is true, so the database and the table specified by this option are created automatically if they do not exist. @@ -12788,6 +12817,6 @@ =head1 VERSION -pt-table-checksum 2.2.13 +pt-table-checksum 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-table-sync new/percona-toolkit-2.2.14/bin/pt-table-sync --- old/percona-toolkit-2.2.13/bin/pt-table-sync 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-table-sync 2015-04-10 11:12:11.000000000 +0200 @@ -55,7 +55,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -11039,6 +11039,12 @@ my $dbh = $host->{$thing}; next unless $dbh; delete $dsn_for{$dbh}; + # The following is for when misc_dbh loses + # connection due to timeout. Since it has nothing + # to commit we avoid reporting an error. + if ( $thing eq 'misc_dbh' && !$dbh->ping() ) { + next; + } $dbh->commit() unless $dbh->{AutoCommit}; $dbh->disconnect(); PTDEBUG && _d('Disconnected dbh', $dbh); @@ -12225,6 +12231,8 @@ Ignore this comma-separated list of databases. +(system databases such as B<information_schema> and B<performance_schema> are ignored by default) + =item --ignore-engines type: Hash; default: FEDERATED,MRG_MyISAM @@ -12239,6 +12247,12 @@ Table names may be qualified with the database name. +=item --ignore-tables-regex + +type: string; group: Filter + +Ignore tables whose names match the Perl regex. + =item --[no]index-hint default: yes @@ -12775,6 +12789,6 @@ =head1 VERSION -pt-table-sync 2.2.13 +pt-table-sync 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-table-usage new/percona-toolkit-2.2.14/bin/pt-table-usage --- old/percona-toolkit-2.2.13/bin/pt-table-usage 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-table-usage 2015-04-10 11:12:11.000000000 +0200 @@ -7571,6 +7571,6 @@ =head1 VERSION -pt-table-usage 2.2.13 +pt-table-usage 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-upgrade new/percona-toolkit-2.2.14/bin/pt-upgrade --- old/percona-toolkit-2.2.13/bin/pt-upgrade 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-upgrade 2015-04-10 11:12:11.000000000 +0200 @@ -61,7 +61,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -5858,7 +5858,7 @@ class => $class, reasons => ["$reason, but hasn't been reported yet"], ); - $class = { reported => 1 }; + $class->{reported} = 1; }; if ( $EVAL_ERROR ) { $success = 1; @@ -5872,11 +5872,11 @@ sub report_if_ready { my ($self, %args) = @_; my $class = $args{class}; - - my $max_examples = $self->max_class_size; + my $max_examples = $self->max_examples; + my $max_class_size = $self->max_class_size; my @report_reasons; - if ( scalar keys %{$class->{unique_queries}} >= $self->max_class_size ) { + if ( scalar keys %{$class->{unique_queries}} >= $max_class_size ) { push @report_reasons, "it's full (--max-class-size)"; } @@ -5888,15 +5888,15 @@ push @report_reasons, "there are $max_examples warning diffs"; } - if ( scalar @{$class->{row_diffs}} >= $self->max_examples ) { + if ( scalar @{$class->{row_diffs}} >= $max_examples ) { push @report_reasons, "there are $max_examples row diffs"; } - if ( scalar @{$class->{errors}} >= $self->max_examples ) { + if ( scalar @{$class->{errors}} >= $max_examples ) { push @report_reasons, "there are $max_examples query errors"; } - if ( scalar @{$class->{failures}} >= $self->max_examples ) { + if ( scalar @{$class->{failures}} >= $max_examples ) { push @report_reasons, "there are $max_examples failed queries"; } @@ -5906,7 +5906,7 @@ class => $class, reasons => \@report_reasons, ); - $class = { reported => 1 }; + $class->{reported} = 1; } return; @@ -5917,6 +5917,11 @@ my $class = $args{class}; my $reasons = $args{reasons}; + if ( $class->{reported} ) { + PTDEBUG && _d('Class already reported'); + return; + } + PTDEBUG && _d('Reporting class', $class->{id}, $class->{fingerprint}); $self->_print_class_header( @@ -6304,7 +6309,11 @@ else { my $rows; if ( my $sth = $results->{sth} ) { - if ( $event->{arg} =~ m/(?:^\s*SELECT|(?:\*\/\s*SELECT))/i ) { + # Only fetch rows of select statements + # *except* when they are directed INTO + # a file or a variable. (issue lp:1421781) + if ( $event->{arg} =~ m/(?:^\s*SELECT|(?:\*\/\s*SELECT))/i + && $event->{arg} !~ /INTO\s*(?:OUTFILE|DUMPFILE|@)/ ) { $rows = $sth->fetchall_arrayref(); } eval { @@ -10120,9 +10129,11 @@ ignore_warnings => $ignore_warnings, ); - # Only SELECT statements return rows. + # Only SELECT statements return rows, *except* when they are directed + # INTO a file or a variable. my $row_diffs; - if ( $event->{arg} =~ m/(?:^\s*SELECT|(?:\*\/\s*SELECT))/i ) { + if ( $event->{arg} =~ m/(?:^\s*SELECT|(?:\*\/\s*SELECT))/i + && $event->{arg} !~ m/INTO\s*(?:OUTFILE|DUMPFILE|@)/i ) { $row_diffs = diff_rows( sth1 => $results1->{sth}, sth2 => $results2->{sth}, @@ -10608,6 +10619,8 @@ =head2 READ-ONLY By default, pt-upgrade only executes C<SELECT> and C<SET> statements. +(This does not include 'SELECT...INTO' statements, which do not return +rows but dump output to a file or variable.) If you're using recreatable test or development servers and wish to compare write statements too (e.g. C<INSERT>, C<UPDATE>, C<DELETE>), then specify C<--no-read-only>. If using a binary log, you must @@ -11290,6 +11303,6 @@ =head1 VERSION -pt-upgrade 2.2.13 +pt-upgrade 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-variable-advisor new/percona-toolkit-2.2.14/bin/pt-variable-advisor --- old/percona-toolkit-2.2.13/bin/pt-variable-advisor 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-variable-advisor 2015-04-10 11:12:11.000000000 +0200 @@ -44,7 +44,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.13'; +our $VERSION = '2.2.14'; use strict; use warnings FATAL => 'all'; @@ -6145,6 +6145,6 @@ =head1 VERSION -pt-variable-advisor 2.2.13 +pt-variable-advisor 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/bin/pt-visual-explain new/percona-toolkit-2.2.14/bin/pt-visual-explain --- old/percona-toolkit-2.2.13/bin/pt-visual-explain 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/bin/pt-visual-explain 2015-04-10 11:12:11.000000000 +0200 @@ -3251,6 +3251,6 @@ =head1 VERSION -pt-visual-explain 2.2.13 +pt-visual-explain 2.2.14 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.13/docs/percona-toolkit.pod new/percona-toolkit-2.2.14/docs/percona-toolkit.pod --- old/percona-toolkit-2.2.13/docs/percona-toolkit.pod 2015-01-23 11:29:58.000000000 +0100 +++ new/percona-toolkit-2.2.14/docs/percona-toolkit.pod 2015-04-10 11:12:11.000000000 +0200 @@ -557,6 +557,6 @@ =head1 VERSION -Percona Toolkit v2.2.13 released 2015-01-23 +Percona Toolkit v2.2.14 released 2015-04-10 =cut ++++++ percona-toolkit-2.2.x-disable-default-version-check.patch ++++++ --- /var/tmp/diff_new_pack.eq1VBF/_old 2015-04-15 16:24:53.000000000 +0200 +++ /var/tmp/diff_new_pack.eq1VBF/_new 2015-04-15 16:24:53.000000000 +0200 @@ -40,10 +40,10 @@ bin/pt-variable-advisor | 2 -- 18 files changed, 36 deletions(-) -Index: percona-toolkit-2.2.13/bin/pt-archiver +Index: percona-toolkit-2.2.14/bin/pt-archiver =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-archiver 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-archiver 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-archiver 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-archiver 2015-04-14 21:58:15.000000000 +0200 @@ -7483,8 +7483,6 @@ Show version and exit. =item --[no]version-check @@ -53,10 +53,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-config-diff +Index: percona-toolkit-2.2.14/bin/pt-config-diff =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-config-diff 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-config-diff 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-config-diff 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-config-diff 2015-04-14 21:58:15.000000000 +0200 @@ -5613,8 +5613,6 @@ Show version and exit. =item --[no]version-check @@ -66,10 +66,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-deadlock-logger +Index: percona-toolkit-2.2.14/bin/pt-deadlock-logger =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-deadlock-logger 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-deadlock-logger 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-deadlock-logger 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-deadlock-logger 2015-04-14 21:58:15.000000000 +0200 @@ -5398,8 +5398,6 @@ Show version and exit. =item --[no]version-check @@ -79,10 +79,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-diskstats +Index: percona-toolkit-2.2.14/bin/pt-diskstats =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-diskstats 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-diskstats 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-diskstats 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-diskstats 2015-04-14 21:58:15.000000000 +0200 @@ -5475,8 +5475,6 @@ Show version and exit. =item --[no]version-check @@ -92,11 +92,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-duplicate-key-checker +Index: percona-toolkit-2.2.14/bin/pt-duplicate-key-checker =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-duplicate-key-checker 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-duplicate-key-checker 2015-01-26 22:30:10.000000000 +0100 -@@ -5436,8 +5436,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-duplicate-key-checker 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-duplicate-key-checker 2015-04-14 21:58:15.000000000 +0200 +@@ -5450,8 +5450,6 @@ Show version and exit. =item --[no]version-check @@ -105,10 +105,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-find +Index: percona-toolkit-2.2.14/bin/pt-find =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-find 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-find 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-find 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-find 2015-04-14 21:58:15.000000000 +0200 @@ -4447,8 +4447,6 @@ Show version and exit. =item --[no]version-check @@ -118,10 +118,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-fk-error-logger +Index: percona-toolkit-2.2.14/bin/pt-fk-error-logger =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-fk-error-logger 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-fk-error-logger 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-fk-error-logger 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-fk-error-logger 2015-04-14 21:58:15.000000000 +0200 @@ -4385,8 +4385,6 @@ Show version and exit. =item --[no]version-check @@ -131,11 +131,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-heartbeat +Index: percona-toolkit-2.2.14/bin/pt-heartbeat =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-heartbeat 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-heartbeat 2015-01-26 22:30:10.000000000 +0100 -@@ -6052,8 +6052,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-heartbeat 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-heartbeat 2015-04-14 21:58:15.000000000 +0200 +@@ -6058,8 +6058,6 @@ Show version and exit. =item --[no]version-check @@ -144,10 +144,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-index-usage +Index: percona-toolkit-2.2.14/bin/pt-index-usage =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-index-usage 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-index-usage 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-index-usage 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-index-usage 2015-04-14 21:58:15.000000000 +0200 @@ -7384,8 +7384,6 @@ Show version and exit. =item --[no]version-check @@ -157,10 +157,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-kill +Index: percona-toolkit-2.2.14/bin/pt-kill =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-kill 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-kill 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-kill 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-kill 2015-04-14 21:58:15.000000000 +0200 @@ -7711,8 +7711,6 @@ Show version and exit. =item --[no]version-check @@ -170,11 +170,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-online-schema-change +Index: percona-toolkit-2.2.14/bin/pt-online-schema-change =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-online-schema-change 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-online-schema-change 2015-01-26 22:30:10.000000000 +0100 -@@ -11572,8 +11572,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-online-schema-change 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-online-schema-change 2015-04-14 21:58:15.000000000 +0200 +@@ -11586,8 +11586,6 @@ Show version and exit. =item --[no]version-check @@ -183,11 +183,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-query-digest +Index: percona-toolkit-2.2.14/bin/pt-query-digest =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-query-digest 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-query-digest 2015-01-26 22:30:10.000000000 +0100 -@@ -16304,8 +16304,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-query-digest 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-query-digest 2015-04-14 21:58:15.000000000 +0200 +@@ -16308,8 +16308,6 @@ Show version and exit. =item --[no]version-check @@ -196,10 +196,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-slave-delay +Index: percona-toolkit-2.2.14/bin/pt-slave-delay =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-slave-delay 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-slave-delay 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-slave-delay 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-slave-delay 2015-04-14 21:58:15.000000000 +0200 @@ -4705,8 +4705,6 @@ Show version and exit. =item --[no]version-check @@ -209,10 +209,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-slave-restart +Index: percona-toolkit-2.2.14/bin/pt-slave-restart =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-slave-restart 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-slave-restart 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-slave-restart 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-slave-restart 2015-04-14 21:58:15.000000000 +0200 @@ -5771,8 +5771,6 @@ Show version and exit. =item --[no]version-check @@ -222,11 +222,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-table-checksum +Index: percona-toolkit-2.2.14/bin/pt-table-checksum =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-table-checksum 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-table-checksum 2015-01-26 22:30:10.000000000 +0100 -@@ -12505,8 +12505,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-table-checksum 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-table-checksum 2015-04-14 21:58:15.000000000 +0200 +@@ -12534,8 +12534,6 @@ Show version and exit. =item --[no]version-check @@ -235,11 +235,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-table-sync +Index: percona-toolkit-2.2.14/bin/pt-table-sync =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-table-sync 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-table-sync 2015-01-26 22:30:10.000000000 +0100 -@@ -12507,8 +12507,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-table-sync 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-table-sync 2015-04-14 21:58:15.000000000 +0200 +@@ -12521,8 +12521,6 @@ Show version and exit. =item --[no]version-check @@ -248,11 +248,11 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-upgrade +Index: percona-toolkit-2.2.14/bin/pt-upgrade =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-upgrade 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-upgrade 2015-01-26 22:30:10.000000000 +0100 -@@ -11083,8 +11083,6 @@ Show version and exit. +--- percona-toolkit-2.2.14.orig/bin/pt-upgrade 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-upgrade 2015-04-14 21:58:15.000000000 +0200 +@@ -11096,8 +11096,6 @@ Show version and exit. =item --[no]version-check @@ -261,10 +261,10 @@ Check for the latest version of Percona Toolkit, MySQL, and other programs. This is a standard "check for updates automatically" feature, with two -Index: percona-toolkit-2.2.13/bin/pt-variable-advisor +Index: percona-toolkit-2.2.14/bin/pt-variable-advisor =================================================================== ---- percona-toolkit-2.2.13.orig/bin/pt-variable-advisor 2015-01-23 11:29:58.000000000 +0100 -+++ percona-toolkit-2.2.13/bin/pt-variable-advisor 2015-01-26 22:30:10.000000000 +0100 +--- percona-toolkit-2.2.14.orig/bin/pt-variable-advisor 2015-04-10 11:12:11.000000000 +0200 ++++ percona-toolkit-2.2.14/bin/pt-variable-advisor 2015-04-14 21:58:15.000000000 +0200 @@ -5975,8 +5975,6 @@ Show version and exit. =item --[no]version-check