commit percona-toolkit for openSUSE:Factory
Hello community, here is the log from the commit of package percona-toolkit for openSUSE:Factory checked in at 2014-11-24 11:08:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2014-09-28 19:54:16.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.percona-toolkit.new/percona-toolkit.changes 2014-11-24 11:08:23.000000000 +0100 @@ -1,0 +2,21 @@ +Mon Nov 17 22:26:34 UTC 2014 - andreas.stieger@gmx.de + +- Percona Toolkit 2.2.12: + * Fixed lp#1376561: pt-archiver is not able to archive all the + rows when a table has a hash partition + * Fixed lp#1328686: pt-heartbeat check-read-only option does not + prevent creates or inserts + * Fixed lp#1269695: pt-online-schema-change does not allow ALTER + for a table without a non-unique, while + manual does not explain this + * Fixed lp#1217466: pt-table-checksum refuses to run on PXC if + server_id is the same on all nodes + * Fixed lp#1373937: pt-table-checksum requires recursion when + working with and XtraDB Cluster node + * Fixed lp#1377888: pt-query-digest manual for --type binlog is + ambiguous + * Fixed lp#1349086: pt-stalk should also gather dmesg output + * Fixed lp#1361293: Some scripts fail when no-version-check + option is put in global config file + +------------------------------------------------------------------- Old: ---- percona-toolkit-2.2.11.tar.gz New: ---- percona-toolkit-2.2.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ percona-toolkit.spec ++++++ --- /var/tmp/diff_new_pack.UDfxGe/_old 2014-11-24 11:08:25.000000000 +0100 +++ /var/tmp/diff_new_pack.UDfxGe/_new 2014-11-24 11:08:25.000000000 +0100 @@ -17,13 +17,13 @@ Name: percona-toolkit -Version: 2.2.11 +Version: 2.2.12 Release: 0 Summary: Advanced MySQL and system command-line tools License: GPL-2.0 Group: Productivity/Databases/Tools Url: https://www.percona.com/software/percona-toolkit/ -Source: http://www.percona.com/downloads/%{name}/%{version}/%{name}-%{version}.tar.gz +Source: https://www.percona.com/downloads/%{name}/%{version}/tarball/%{name}-%{version}.tar.gz Source2: %{name}.conf Patch0: percona-toolkit-2.2.x-disable-default-version-check.patch Requires: perl(DBD::mysql) >= 1.0 ++++++ percona-toolkit-2.2.11.tar.gz -> percona-toolkit-2.2.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/Changelog new/percona-toolkit-2.2.12/Changelog --- old/percona-toolkit-2.2.11/Changelog 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/Changelog 2014-11-11 14:36:49.000000000 +0100 @@ -1,5 +1,17 @@ Changelog for Percona Toolkit +v2.2.12 released 2014-11-14 + + + * Fixed bug 1376561: pt-archiver is not able to archive all the rows when a table has a hash partition + * Fixed bug 1328686: pt-heartbeat check-read-only option does not prevent creates or inserts + * Fixed bug 1269695: pt-online-schema-change does not allow ALTER for a table without a non-unique, while manual does not explain this + * Fixed bug 1217466: pt-table-checksum refuses to run on PXC if server_id is the same on all nodes + * Fixed bug 1373937: pt-table-checksum requires recursion when working with and XtraDB Cluster node + * Fixed bug 1377888: pt-query-digest manual for --type binlog is ambiguous + * Fixed bug 1349086: pt-stalk should also gather dmesg output + * Fixed bug 1361293: Some scripts fail when no-version-check option is put in global config file + v2.2.11 released 2014-09-26 * Fixed bug 1262456: pt-query-digest doesn't report host details diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/Makefile.PL new/percona-toolkit-2.2.12/Makefile.PL --- old/percona-toolkit-2.2.11/Makefile.PL 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/Makefile.PL 2014-11-11 14:36:49.000000000 +0100 @@ -2,7 +2,7 @@ WriteMakefile( NAME => 'percona-toolkit', - VERSION => '2.2.11', + VERSION => '2.2.12', 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.11/bin/pt-align new/percona-toolkit-2.2.12/bin/pt-align --- old/percona-toolkit-2.2.11/bin/pt-align 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-align 2014-11-11 14:36:49.000000000 +0100 @@ -901,6 +901,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -1323,6 +1331,6 @@ =head1 VERSION -pt-align 2.2.11 +pt-align 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-archiver new/percona-toolkit-2.2.12/bin/pt-archiver --- old/percona-toolkit-2.2.11/bin/pt-archiver 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-archiver 2014-11-11 14:36:49.000000000 +0100 @@ -43,7 +43,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -5811,7 +5811,18 @@ $next_sql .= " AND $sel_stmt->{where}"; } + # Obtain index cols so we can order them when ascending + # this ensures returned sets are disjoint when ran on partitioned tables + # issue 1376561 + my $index_cols; + if ( $sel_stmt->{index} + && $src->{info}->{keys}->{$sel_stmt->{index}}->{cols} + ) { + $index_cols = $src->{info}->{keys}->{$sel_stmt->{index}}->{colnames}; + } + foreach my $thing ( $first_sql, $next_sql ) { + $thing .= " ORDER BY $index_cols" if $index_cols; $thing .= " LIMIT $limit"; if ( $o->get('for-update') ) { $thing .= ' FOR UPDATE'; @@ -7892,6 +7903,6 @@ =head1 VERSION -pt-archiver 2.2.11 +pt-archiver 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-config-diff new/percona-toolkit-2.2.12/bin/pt-config-diff --- old/percona-toolkit-2.2.11/bin/pt-config-diff 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-config-diff 2014-11-11 14:36:49.000000000 +0100 @@ -43,7 +43,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -2295,7 +2295,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -2306,7 +2306,7 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; @@ -2325,6 +2325,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -2386,6 +2393,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -2395,7 +2413,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -5733,6 +5752,6 @@ =head1 VERSION -pt-config-diff 2.2.11 +pt-config-diff 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-deadlock-logger new/percona-toolkit-2.2.12/bin/pt-deadlock-logger --- old/percona-toolkit-2.2.11/bin/pt-deadlock-logger 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-deadlock-logger 2014-11-11 14:36:49.000000000 +0100 @@ -42,7 +42,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -2639,7 +2639,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -2650,7 +2650,7 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; @@ -2669,6 +2669,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -2730,6 +2737,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -2739,7 +2757,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -5523,6 +5542,6 @@ =head1 VERSION -pt-deadlock-logger 2.2.11 +pt-deadlock-logger 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-diskstats new/percona-toolkit-2.2.12/bin/pt-diskstats --- old/percona-toolkit-2.2.11/bin/pt-diskstats 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-diskstats 2014-11-11 14:36:49.000000000 +0100 @@ -38,7 +38,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -5579,6 +5579,6 @@ =head1 VERSION -pt-diskstats 2.2.11 +pt-diskstats 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-duplicate-key-checker new/percona-toolkit-2.2.12/bin/pt-duplicate-key-checker --- old/percona-toolkit-2.2.11/bin/pt-duplicate-key-checker 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-duplicate-key-checker 2014-11-11 14:36:49.000000000 +0100 @@ -39,7 +39,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -5600,6 +5600,6 @@ =head1 VERSION -pt-duplicate-key-checker 2.2.11 +pt-duplicate-key-checker 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-fifo-split new/percona-toolkit-2.2.12/bin/pt-fifo-split --- old/percona-toolkit-2.2.11/bin/pt-fifo-split 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-fifo-split 2014-11-11 14:36:49.000000000 +0100 @@ -902,6 +902,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -1612,6 +1620,6 @@ =head1 VERSION -pt-fifo-split 2.2.11 +pt-fifo-split 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-find new/percona-toolkit-2.2.12/bin/pt-find --- old/percona-toolkit-2.2.11/bin/pt-find 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-find 2014-11-11 14:36:50.000000000 +0100 @@ -35,7 +35,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -4984,6 +4984,6 @@ =head1 VERSION -pt-find 2.2.11 +pt-find 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-fingerprint new/percona-toolkit-2.2.12/bin/pt-fingerprint --- old/percona-toolkit-2.2.11/bin/pt-fingerprint 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-fingerprint 2014-11-11 14:36:50.000000000 +0100 @@ -903,6 +903,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -2203,6 +2211,6 @@ =head1 VERSION -pt-fingerprint 2.2.11 +pt-fingerprint 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-fk-error-logger new/percona-toolkit-2.2.12/bin/pt-fk-error-logger --- old/percona-toolkit-2.2.11/bin/pt-fk-error-logger 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-fk-error-logger 2014-11-11 14:36:50.000000000 +0100 @@ -37,7 +37,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -1791,7 +1791,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -1802,7 +1802,7 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; @@ -1821,6 +1821,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -1882,6 +1889,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -1891,7 +1909,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -4509,6 +4528,6 @@ =head1 VERSION -pt-fk-error-logger 2.2.11 +pt-fk-error-logger 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-heartbeat new/percona-toolkit-2.2.12/bin/pt-heartbeat --- old/percona-toolkit-2.2.11/bin/pt-heartbeat 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-heartbeat 2014-11-11 14:36:50.000000000 +0100 @@ -38,7 +38,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -4892,6 +4892,32 @@ $dbh->do("USE `$db`"); # ######################################################################## + # If --check-read-only option was given and we are in --update mode + # we wait until server is writable , or run-time is over, or sentinel file + # We also do this check after daemon is up and running, but it is necessary + # to check this before attempting to create the table and inserting rows + # https://bugs.launchpad.net/percona-toolkit/+bug/1328686 + # ####################################################################### + if ( $o->get('check-read-only') && $o->get('update') ) { + PTDEBUG && _d('Checking if server is read_only'); + if ( server_is_readonly($dbh) && PTDEBUG ) { + _d('Server is read-only, waiting') + } + my $start_time = time; + my $run_time = $o->get('run-time'); + my $interval = $o->get('interval') || 5; + while (server_is_readonly($dbh)) { + sleep($interval); + if ( + ($run_time && $run_time < time - $start_time) + || -f $sentinel + ) { + return 0; + } + } + } + + # ######################################################################## # Create the heartbeat table if --create-table was given. # ######################################################################## my $utc = $o->get('utc'); @@ -6192,6 +6218,6 @@ =head1 VERSION -pt-heartbeat 2.2.11 +pt-heartbeat 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-index-usage new/percona-toolkit-2.2.12/bin/pt-index-usage --- old/percona-toolkit-2.2.11/bin/pt-index-usage 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-index-usage 2014-11-11 14:36:50.000000000 +0100 @@ -45,7 +45,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -7548,6 +7548,6 @@ =head1 VERSION -pt-index-usage 2.2.11 +pt-index-usage 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-ioprofile new/percona-toolkit-2.2.12/bin/pt-ioprofile --- old/percona-toolkit-2.2.11/bin/pt-ioprofile 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-ioprofile 2014-11-11 14:36:50.000000000 +0100 @@ -86,9 +86,10 @@ usage_or_errors() { local file="$1" + local version="" if [ "$OPT_VERSION" ]; then - local version=$(grep '^pt-[^ ]\+ [0-9]' "$file") + version=$(grep '^pt-[^ ]\+ [0-9]' "$file") echo "$version" return 1 fi @@ -310,6 +311,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -1119,7 +1122,7 @@ =head1 VERSION -pt-ioprofile 2.2.11 +pt-ioprofile 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-kill new/percona-toolkit-2.2.12/bin/pt-kill --- old/percona-toolkit-2.2.11/bin/pt-kill 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-kill 2014-11-11 14:36:50.000000000 +0100 @@ -47,7 +47,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -5158,7 +5158,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -5169,7 +5169,7 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; @@ -5188,6 +5188,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -5249,6 +5256,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -5258,7 +5276,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -8183,6 +8202,6 @@ =head1 VERSION -pt-kill 2.2.11 +pt-kill 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-mext new/percona-toolkit-2.2.12/bin/pt-mext --- old/percona-toolkit-2.2.11/bin/pt-mext 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-mext 2014-11-11 14:36:50.000000000 +0100 @@ -251,34 +251,38 @@ _parse_pod() { local file="$1" - cat "$file" | PO_DIR="$PO_DIR" perl -ne ' - BEGIN { $/ = ""; } - next unless $_ =~ m/^=head1 OPTIONS/; - while ( defined(my $para = <>) ) { - last if $para =~ m/^=head1/; - chomp; - if ( $para =~ m/^=item --(\S+)/ ) { - my $opt = $1; - my $file = "$ENV{PO_DIR}/$opt"; - open my $opt_fh, ">", $file or die "Cannot open $file: $!"; - print $opt_fh "long:$opt\n"; - $para = <>; + PO_FILE="$file" PO_DIR="$PO_DIR" perl -e ' + $/ = ""; + my $file = $ENV{PO_FILE}; + open my $fh, "<", $file or die "Cannot open $file: $!"; + while ( defined(my $para = <$fh>) ) { + next unless $para =~ m/^=head1 OPTIONS/; + while ( defined(my $para = <$fh>) ) { + last if $para =~ m/^=head1/; chomp; - if ( $para =~ m/^[a-z ]+:/ ) { - map { - chomp; - my ($attrib, $val) = split(/: /, $_); - print $opt_fh "$attrib:$val\n"; - } split(/; /, $para); - $para = <>; + if ( $para =~ m/^=item --(\S+)/ ) { + my $opt = $1; + my $file = "$ENV{PO_DIR}/$opt"; + open my $opt_fh, ">", $file or die "Cannot open $file: $!"; + print $opt_fh "long:$opt\n"; + $para = <$fh>; chomp; + if ( $para =~ m/^[a-z ]+:/ ) { + map { + chomp; + my ($attrib, $val) = split(/: /, $_); + print $opt_fh "$attrib:$val\n"; + } split(/; /, $para); + $para = <$fh>; + chomp; + } + my ($desc) = $para =~ m/^([^?.]+)/; + print $opt_fh "desc:$desc.\n"; + close $opt_fh; } - my ($desc) = $para =~ m/^([^?.]+)/; - print $opt_fh "desc:$desc.\n"; - close $opt_fh; } + last; } - last; ' } @@ -348,6 +352,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -792,7 +798,7 @@ =head1 VERSION -pt-mext 2.2.11 +pt-mext 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-mysql-summary new/percona-toolkit-2.2.12/bin/pt-mysql-summary --- old/percona-toolkit-2.2.11/bin/pt-mysql-summary 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-mysql-summary 2014-11-11 14:36:50.000000000 +0100 @@ -313,6 +313,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -3083,7 +3085,7 @@ =head1 VERSION -pt-mysql-summary 2.2.11 +pt-mysql-summary 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-online-schema-change new/percona-toolkit-2.2.12/bin/pt-online-schema-change --- old/percona-toolkit-2.2.11/bin/pt-online-schema-change 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-online-schema-change 2014-11-11 14:36:50.000000000 +0100 @@ -54,7 +54,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -3755,7 +3755,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -3766,12 +3766,12 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; if ( !$dbh || !$dbh->ping() ) { - if ( $self->{ask_pass} && !$self->{asked_for_pass} && !defined $dsn->{p}) { + if ( $self->{ask_pass} && !$self->{asked_for_pass} ) { $dsn->{p} = OptionParser::prompt_noecho("Enter MySQL password: "); $self->{asked_for_pass} = 1; } @@ -3785,6 +3785,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -3846,6 +3853,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -3855,7 +3873,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -7638,8 +7657,26 @@ sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; - my $seen_ids = $args{seen_ids}; - return Cxn->remove_duplicate_cxns(%args); + my $seen_ids = $args{seen_ids} || {}; + PTDEBUG && _d("Removing duplicates nodes from ", join(" ", map { $_->name } @cxns)); + my @trimmed_cxns; + + for my $cxn ( @cxns ) { + my $dbh = $cxn->dbh(); + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; + PTDEBUG && _d($sql); + my ($id) = $dbh->selectrow_array($sql); + PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); + + if ( ! $seen_ids->{$id}++ ) { + push @trimmed_cxns, $cxn + } + else { + PTDEBUG && _d("Removing ", $cxn->name, + ", ID ", $id, ", because we've already seen it"); + } + } + return \@trimmed_cxns; } sub same_cluster { @@ -10556,6 +10593,12 @@ =item * +In most cases the tool will refuse to operate unless a PRIMARY KEY or UNIQUE INDEX is +present in the table. See L<"--alter"> for details. + + +=item * + The tool refuses to operate if it detects replication filters. See L<"--[no]check-replication-filters"> for details. @@ -10634,6 +10677,16 @@ =item * +In almost all cases a PRIMARY KEY or UNIQUE INDEX needs to be present in the table. +This is necessary because the tool creates a DELETE trigger to keep the new table +updated while the process is running. + +A notable exception is when a PRIMARY KEY or UNIQUE INDEX is being created from +B<existing columns> as part of the ALTER clause; in that case it will use these +column(s) for the DELETE trigger. + +=item * + The C<RENAME> clause cannot be used to rename the table. =item * @@ -11563,6 +11616,6 @@ =head1 VERSION -pt-online-schema-change 2.2.11 +pt-online-schema-change 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-pmp new/percona-toolkit-2.2.12/bin/pt-pmp --- old/percona-toolkit-2.2.11/bin/pt-pmp 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-pmp 2014-11-11 14:36:50.000000000 +0100 @@ -129,9 +129,10 @@ usage_or_errors() { local file="$1" + local version="" if [ "$OPT_VERSION" ]; then - local version=$(grep '^pt-[^ ]\+ [0-9]' "$file") + version=$(grep '^pt-[^ ]\+ [0-9]' "$file") echo "$version" return 1 fi @@ -353,6 +354,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -889,7 +892,7 @@ =head1 VERSION -pt-pmp 2.2.11 +pt-pmp 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-query-digest new/percona-toolkit-2.2.12/bin/pt-query-digest --- old/percona-toolkit-2.2.11/bin/pt-query-digest 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-query-digest 2014-11-11 14:36:50.000000000 +0100 @@ -64,7 +64,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -13181,6 +13181,13 @@ if ( $fh ) { PTDEBUG && _d('Reading', $filename); PTDEBUG && _d('File size:', $filesize); + # catch if user is trying to use an uncoverted (raw) binlog # issue 1377888 + if ( $filename && $o->get('type')->[0] eq 'binlog') { + if (is_raw_binlog($filename)) { + warn "Binlog file $filename must first be converted to text format using mysqlbinlog"; + return 1; + } + } push @read_files, { name => ($filename || "STDIN"), size => $filesize }; # Read the file offset for --resume. @@ -14722,6 +14729,14 @@ return; } +# make an effort to check if file is a raw binlog +# (i.e. was not converted to text using mysqlbinlog) +sub is_raw_binlog { + my $filename = shift; + + return -B $filename; +} + sub _d { my ($package, undef, $line) = caller 0; @_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; } @@ -14798,7 +14813,8 @@ pt-query-digest is a sophisticated but easy to use tool for analyzing MySQL queries. It can analyze queries from MySQL slow, general, and binary -logs, as well as C<SHOW PROCESSLIST> and MySQL protocol data from tcpdump. +logs. (Binary logs must first be converted to text, see L<"--type">). +It can also use C<SHOW PROCESSLIST> and MySQL protocol data from tcpdump. By default, the tool reports which queries are the slowest, and therefore the most important to optimize. More complex and custom-tailored reports can be created by using options like L<"--group-by">, L<"--filter">, and @@ -16134,7 +16150,13 @@ =item binlog -Parse a binary log file. +Parse a binary log file that has first been converted to text using mysqlbinlog. + +For example: + + mysqlbinlog mysql-bin.000441 > mysql-bin.000441.txt + + pt-query-digest --type binlog mysql-bin.000441.txt =item genlog @@ -16595,6 +16617,6 @@ =head1 VERSION -pt-query-digest 2.2.11 +pt-query-digest 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-show-grants new/percona-toolkit-2.2.12/bin/pt-show-grants --- old/percona-toolkit-2.2.11/bin/pt-show-grants 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-show-grants 2014-11-11 14:36:50.000000000 +0100 @@ -903,6 +903,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -2406,6 +2414,6 @@ =head1 VERSION -pt-show-grants 2.2.11 +pt-show-grants 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-sift new/percona-toolkit-2.2.12/bin/pt-sift --- old/percona-toolkit-2.2.11/bin/pt-sift 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-sift 2014-11-11 14:36:50.000000000 +0100 @@ -127,9 +127,10 @@ usage_or_errors() { local file="$1" + local version="" if [ "$OPT_VERSION" ]; then - local version=$(grep '^pt-[^ ]\+ [0-9]' "$file") + version=$(grep '^pt-[^ ]\+ [0-9]' "$file") echo "$version" return 1 fi @@ -351,6 +352,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -1237,7 +1240,7 @@ =head1 VERSION -pt-sift 2.2.11 +pt-sift 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-slave-delay new/percona-toolkit-2.2.12/bin/pt-slave-delay --- old/percona-toolkit-2.2.11/bin/pt-slave-delay 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-slave-delay 2014-11-11 14:36:50.000000000 +0100 @@ -40,7 +40,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -4869,6 +4869,6 @@ =head1 VERSION -pt-slave-delay 2.2.11 +pt-slave-delay 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-slave-find new/percona-toolkit-2.2.12/bin/pt-slave-find --- old/percona-toolkit-2.2.11/bin/pt-slave-find 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-slave-find 2014-11-11 14:36:50.000000000 +0100 @@ -911,6 +911,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -4334,6 +4342,6 @@ =head1 VERSION -pt-slave-find 2.2.11 +pt-slave-find 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-slave-restart new/percona-toolkit-2.2.12/bin/pt-slave-restart --- old/percona-toolkit-2.2.11/bin/pt-slave-restart 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-slave-restart 2014-11-11 14:36:50.000000000 +0100 @@ -41,7 +41,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -5937,6 +5937,6 @@ =head1 VERSION -pt-slave-restart 2.2.11 +pt-slave-restart 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-stalk new/percona-toolkit-2.2.12/bin/pt-stalk --- old/percona-toolkit-2.2.11/bin/pt-stalk 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-stalk 2014-11-11 14:36:50.000000000 +0100 @@ -140,9 +140,10 @@ usage_or_errors() { local file="$1" + local version="" if [ "$OPT_VERSION" ]; then - local version=$(grep '^pt-[^ ]\+ [0-9]' "$file") + version=$(grep '^pt-[^ ]\+ [0-9]' "$file") echo "$version" return 1 fi @@ -364,6 +365,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -779,6 +782,7 @@ CMD_SYSCTL="${CMD_SYSCTL:-"$(_which sysctl)"}" CMD_TCPDUMP="${CMD_TCPDUMP:-"$(_which tcpdump)"}" CMD_VMSTAT="${CMD_VMSTAT:-"$(_which vmstat)"}" +CMD_DMESG="${CMD_DMESG:-"$(_which dmesg)"}" [ -z "$CMD_SYSCTL" -a -x "/sbin/sysctl" ] && CMD_SYSCTL="/sbin/sysctl" @@ -862,6 +866,14 @@ if [ "$CMD_SYSCTL" ]; then $CMD_SYSCTL -a >> "$d/$p-sysctl" & fi + + # collect dmesg events from 60 seconds ago until present + if [ "$CMD_DMESG" ]; then + local UPTIME=`cat /proc/uptime | awk '{ print $1 }'` + local START_TIME=$(echo "$UPTIME 60" | awk '{print ($1 - $2)}') + $CMD_DMESG | perl -ne 'm/\[\s*(\d+)\./; if ($1 > '${START_TIME}') { print }' >> "$d/$p-dmesg" & + fi + local cnt=$(($OPT_RUN_TIME / $OPT_SLEEP_COLLECT)) if [ "$CMD_VMSTAT" ]; then $CMD_VMSTAT $OPT_SLEEP_COLLECT $cnt >> "$d/$p-vmstat" & @@ -876,6 +888,7 @@ $CMD_MPSTAT -P ALL $OPT_RUN_TIME 1 >> "$d/$p-mpstat-overall" & fi + $CMD_MYSQLADMIN $EXT_ARGV ext -i$OPT_SLEEP_COLLECT -c$cnt >>"$d/$p-mysqladmin" & local mysqladmin_pid=$! @@ -2225,7 +2238,7 @@ =head1 VERSION -pt-stalk 2.2.11 +pt-stalk 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-summary new/percona-toolkit-2.2.12/bin/pt-summary --- old/percona-toolkit-2.2.11/bin/pt-summary 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-summary 2014-11-11 14:36:50.000000000 +0100 @@ -320,6 +320,8 @@ [ "$config_opt" = "" ] && continue + echo "$config_opt" | grep -v 'version-check' >/dev/null 2>&1 || continue + if ! [ "$HAVE_EXT_ARGV" ]; then config_opt="--$config_opt" fi @@ -2691,7 +2693,7 @@ =head1 VERSION -pt-summary 2.2.11 +pt-summary 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-table-checksum new/percona-toolkit-2.2.12/bin/pt-table-checksum --- old/percona-toolkit-2.2.11/bin/pt-table-checksum 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-table-checksum 2014-11-11 14:36:50.000000000 +0100 @@ -57,7 +57,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -3533,7 +3533,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -3544,7 +3544,7 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; @@ -3563,6 +3563,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -3624,6 +3631,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -3633,7 +3651,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -3788,8 +3807,26 @@ sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; - my $seen_ids = $args{seen_ids}; - return Cxn->remove_duplicate_cxns(%args); + my $seen_ids = $args{seen_ids} || {}; + PTDEBUG && _d("Removing duplicates nodes from ", join(" ", map { $_->name } @cxns)); + my @trimmed_cxns; + + for my $cxn ( @cxns ) { + my $dbh = $cxn->dbh(); + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; + PTDEBUG && _d($sql); + my ($id) = $dbh->selectrow_array($sql); + PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); + + if ( ! $seen_ids->{$id}++ ) { + push @trimmed_cxns, $cxn + } + else { + PTDEBUG && _d("Removing ", $cxn->name, + ", ID ", $id, ", because we've already seen it"); + } + } + return \@trimmed_cxns; } sub same_cluster { @@ -9286,7 +9323,8 @@ my %seen_ids; for my $cxn ($master_cxn, @$slaves) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + # if it's a cluster node we use its incoming address as id ( see https://bugs.launchpad.net/percona-toolkit/+bug/1217466 ) + my $sql = $cluster->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($cxn, $dbh, $sql); my ($id) = $dbh->selectrow_array($sql); $seen_ids{$id}++; @@ -9363,9 +9401,11 @@ if ( $cluster_name_for{$master_cxn} ) { if ( !@$slaves ) { - die $master_cxn->name() . " is a cluster node but no other nodes " - . "or regular replicas were found. Use --recursion-method=dsn " - . "to specify the other nodes in the cluster.\n"; + if ( ($o->get('recursion-method')->[0] || '') ne 'none' ) { + die $master_cxn->name() . " is a cluster node but no other nodes " + . "or regular replicas were found. Use --recursion-method=dsn " + . "to specify the other nodes in the cluster.\n"; + } } # Make sure the master and all node are in the same cluster. @@ -12240,9 +12280,13 @@ The C<dsn> column contains a replica DSN like it would be given on the command line, for example: C<"h=replica_host,u=repl_user,p=repl_pass">. -The C<none> method prevents the tool from connecting to any replicas. -This effectively disables all the L<"REPLICA CHECKS"> because there will -not be any replicas to check. Therefore, this method is not recommended. +The C<none> method makes the tool ignore all slaves and cluster nodes. This +method is not recommended because it effectively disables the +L<"REPLICA CHECKS"> and no differences can be found. It is useful, however, if +you only need to write checksums on the master or a single cluster node. The +safer alternative is C<--no-replicate-check>: the tool finds replicas and +cluster nodes, performs the L<"REPLICA CHECKS">, but does not check for +differences. See L<"--[no]replicate-check">. =item --replicate @@ -12698,6 +12742,6 @@ =head1 VERSION -pt-table-checksum 2.2.11 +pt-table-checksum 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-table-sync new/percona-toolkit-2.2.12/bin/pt-table-sync --- old/percona-toolkit-2.2.11/bin/pt-table-sync 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-table-sync 2014-11-11 14:36:50.000000000 +0100 @@ -55,7 +55,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -12768,6 +12768,6 @@ =head1 VERSION -pt-table-sync 2.2.11 +pt-table-sync 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-table-usage new/percona-toolkit-2.2.12/bin/pt-table-usage --- old/percona-toolkit-2.2.11/bin/pt-table-usage 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-table-usage 2014-11-11 14:36:50.000000000 +0100 @@ -1340,6 +1340,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -7563,6 +7571,6 @@ =head1 VERSION -pt-table-usage 2.2.11 +pt-table-usage 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-upgrade new/percona-toolkit-2.2.12/bin/pt-upgrade --- old/percona-toolkit-2.2.11/bin/pt-upgrade 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-upgrade 2014-11-11 14:36:50.000000000 +0100 @@ -61,7 +61,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -2464,7 +2464,7 @@ set => $args{set}, NAME_lc => defined($args{NAME_lc}) ? $args{NAME_lc} : 1, dbh_set => 0, - ask_pass => $o->get('ask-pass'), + ask_pass => $args{ask_pass}, DSNParser => $dp, is_cluster_node => undef, parent => $args{parent}, @@ -2475,7 +2475,7 @@ sub connect { my ( $self, %opts ) = @_; - my $dsn = $self->{dsn}; + my $dsn = $opts{dsn} || $self->{dsn}; my $dp = $self->{DSNParser}; my $dbh = $self->{dbh}; @@ -2494,6 +2494,13 @@ } $dbh = $self->set_dbh($dbh); + if ( $opts{dsn} ) { + $self->{dsn} = $dsn; + $self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)]) + || $dp->as_string($dsn, [qw(F)]) + || ''; + + } PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name}); return $dbh; } @@ -2555,6 +2562,17 @@ return $self->{hostname} || $self->{dsn_name} || 'unknown host'; } +sub is_cluster_node { + my ($self, $cxn) = @_; + + my $sql = "SHOW VARIABLES LIKE 'wsrep\_on'"; + PTDEBUG && _d($cxn->name, $sql); + my $row = $cxn->dbh->selectrow_arrayref($sql); + PTDEBUG && _d(Dumper($row)); + return $row && $row->[1] && ($row->[1] eq 'ON' || $row->[1] eq '1') ? 1 : 0; + +} + sub remove_duplicate_cxns { my ($self, %args) = @_; my @cxns = @{$args{cxns}}; @@ -2564,7 +2582,8 @@ for my $cxn ( @cxns ) { my $dbh = $cxn->dbh(); - my $sql = q{SELECT @@server_id}; + + my $sql = $self->is_cluster_node($cxn) ? q{SELECT @@wsrep_node_incoming_address} : q{SELECT @@server_id}; PTDEBUG && _d($sql); my ($id) = $dbh->selectrow_array($sql); PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id); @@ -11240,6 +11259,6 @@ =head1 VERSION -pt-upgrade 2.2.11 +pt-upgrade 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-variable-advisor new/percona-toolkit-2.2.12/bin/pt-variable-advisor --- old/percona-toolkit-2.2.11/bin/pt-variable-advisor 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-variable-advisor 2014-11-11 14:36:50.000000000 +0100 @@ -44,7 +44,7 @@ { package Percona::Toolkit; -our $VERSION = '2.2.11'; +our $VERSION = '2.2.12'; use strict; use warnings FATAL => 'all'; @@ -6138,6 +6138,6 @@ =head1 VERSION -pt-variable-advisor 2.2.11 +pt-variable-advisor 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/bin/pt-visual-explain new/percona-toolkit-2.2.12/bin/pt-visual-explain --- old/percona-toolkit-2.2.11/bin/pt-visual-explain 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/bin/pt-visual-explain 2014-11-11 14:36:50.000000000 +0100 @@ -1577,6 +1577,14 @@ $parse = 0; next LINE; } + + if ( $parse + && !$self->has('version-check') + && $line =~ /version-check/ + ) { + next LINE; + } + if ( $parse && (my($opt, $arg) = $line =~ m/^\s*([^=\s]+?)(?:\s*=\s*(.*?)\s*)?$/) ) { @@ -3243,6 +3251,6 @@ =head1 VERSION -pt-visual-explain 2.2.11 +pt-visual-explain 2.2.12 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/percona-toolkit-2.2.11/docs/percona-toolkit.pod new/percona-toolkit-2.2.12/docs/percona-toolkit.pod --- old/percona-toolkit-2.2.11/docs/percona-toolkit.pod 2014-09-25 15:49:49.000000000 +0200 +++ new/percona-toolkit-2.2.12/docs/percona-toolkit.pod 2014-11-11 14:36:50.000000000 +0100 @@ -557,6 +557,6 @@ =head1 VERSION -Percona Toolkit v2.2.11 released 2014-09-25 +Percona Toolkit v2.2.12 released 2014-11-11 =cut ++++++ percona-toolkit-2.2.x-disable-default-version-check.patch ++++++ --- /var/tmp/diff_new_pack.UDfxGe/_old 2014-11-24 11:08:25.000000000 +0100 +++ /var/tmp/diff_new_pack.UDfxGe/_new 2014-11-24 11:08:25.000000000 +0100 @@ -40,11 +40,11 @@ bin/pt-variable-advisor | 2 -- 18 files changed, 36 deletions(-) -Index: percona-toolkit-2.2.11/bin/pt-archiver +Index: percona-toolkit-2.2.12/bin/pt-archiver =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-archiver -+++ percona-toolkit-2.2.11/bin/pt-archiver -@@ -7465,8 +7465,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-archiver 2014-11-11 13:36:49.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-archiver 2014-11-17 22:24:54.000000000 +0000 +@@ -7476,8 +7476,6 @@ Show version and exit. =item --[no]version-check @@ -53,11 +53,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.11/bin/pt-config-diff +Index: percona-toolkit-2.2.12/bin/pt-config-diff =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-config-diff -+++ percona-toolkit-2.2.11/bin/pt-config-diff -@@ -5563,8 +5563,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-config-diff 2014-11-11 13:36:49.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-config-diff 2014-11-17 22:24:54.000000000 +0000 +@@ -5582,8 +5582,6 @@ Show version and exit. =item --[no]version-check @@ -66,11 +66,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.11/bin/pt-deadlock-logger +Index: percona-toolkit-2.2.12/bin/pt-deadlock-logger =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-deadlock-logger -+++ percona-toolkit-2.2.11/bin/pt-deadlock-logger -@@ -5348,8 +5348,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-deadlock-logger 2014-11-11 13:36:49.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-deadlock-logger 2014-11-17 22:24:54.000000000 +0000 +@@ -5367,8 +5367,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.11/bin/pt-diskstats +Index: percona-toolkit-2.2.12/bin/pt-diskstats =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-diskstats -+++ percona-toolkit-2.2.11/bin/pt-diskstats +--- percona-toolkit-2.2.12.orig/bin/pt-diskstats 2014-11-11 13:36:49.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-diskstats 2014-11-17 22:24:54.000000000 +0000 @@ -5468,8 +5468,6 @@ Show version and exit. =item --[no]version-check @@ -92,10 +92,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.11/bin/pt-duplicate-key-checker +Index: percona-toolkit-2.2.12/bin/pt-duplicate-key-checker =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-duplicate-key-checker -+++ percona-toolkit-2.2.11/bin/pt-duplicate-key-checker +--- percona-toolkit-2.2.12.orig/bin/pt-duplicate-key-checker 2014-11-11 13:36:49.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-duplicate-key-checker 2014-11-17 22:24:54.000000000 +0000 @@ -5429,8 +5429,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.11/bin/pt-find +Index: percona-toolkit-2.2.12/bin/pt-find =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-find -+++ percona-toolkit-2.2.11/bin/pt-find +--- percona-toolkit-2.2.12.orig/bin/pt-find 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-find 2014-11-17 22:24:54.000000000 +0000 @@ -4440,8 +4440,6 @@ Show version and exit. =item --[no]version-check @@ -118,11 +118,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.11/bin/pt-fk-error-logger +Index: percona-toolkit-2.2.12/bin/pt-fk-error-logger =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-fk-error-logger -+++ percona-toolkit-2.2.11/bin/pt-fk-error-logger -@@ -4335,8 +4335,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-fk-error-logger 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-fk-error-logger 2014-11-17 22:24:54.000000000 +0000 +@@ -4354,8 +4354,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.11/bin/pt-heartbeat +Index: percona-toolkit-2.2.12/bin/pt-heartbeat =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-heartbeat -+++ percona-toolkit-2.2.11/bin/pt-heartbeat -@@ -6019,8 +6019,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-heartbeat 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-heartbeat 2014-11-17 22:24:54.000000000 +0000 +@@ -6045,8 +6045,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.11/bin/pt-index-usage +Index: percona-toolkit-2.2.12/bin/pt-index-usage =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-index-usage -+++ percona-toolkit-2.2.11/bin/pt-index-usage +--- percona-toolkit-2.2.12.orig/bin/pt-index-usage 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-index-usage 2014-11-17 22:24:54.000000000 +0000 @@ -7377,8 +7377,6 @@ Show version and exit. =item --[no]version-check @@ -157,11 +157,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.11/bin/pt-kill +Index: percona-toolkit-2.2.12/bin/pt-kill =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-kill -+++ percona-toolkit-2.2.11/bin/pt-kill -@@ -7640,8 +7640,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-kill 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-kill 2014-11-17 22:24:54.000000000 +0000 +@@ -7659,8 +7659,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.11/bin/pt-online-schema-change +Index: percona-toolkit-2.2.12/bin/pt-online-schema-change =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-online-schema-change -+++ percona-toolkit-2.2.11/bin/pt-online-schema-change -@@ -11328,8 +11328,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-online-schema-change 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-online-schema-change 2014-11-17 22:24:54.000000000 +0000 +@@ -11381,8 +11381,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.11/bin/pt-query-digest +Index: percona-toolkit-2.2.12/bin/pt-query-digest =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-query-digest -+++ percona-toolkit-2.2.11/bin/pt-query-digest -@@ -16275,8 +16275,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-query-digest 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-query-digest 2014-11-17 22:24:54.000000000 +0000 +@@ -16297,8 +16297,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.11/bin/pt-slave-delay +Index: percona-toolkit-2.2.12/bin/pt-slave-delay =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-slave-delay -+++ percona-toolkit-2.2.11/bin/pt-slave-delay +--- percona-toolkit-2.2.12.orig/bin/pt-slave-delay 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-slave-delay 2014-11-17 22:24:54.000000000 +0000 @@ -4698,8 +4698,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.11/bin/pt-slave-restart +Index: percona-toolkit-2.2.12/bin/pt-slave-restart =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-slave-restart -+++ percona-toolkit-2.2.11/bin/pt-slave-restart +--- percona-toolkit-2.2.12.orig/bin/pt-slave-restart 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-slave-restart 2014-11-17 22:24:54.000000000 +0000 @@ -5764,8 +5764,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.11/bin/pt-table-checksum +Index: percona-toolkit-2.2.12/bin/pt-table-checksum =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-table-checksum -+++ percona-toolkit-2.2.11/bin/pt-table-checksum -@@ -12415,8 +12415,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-table-checksum 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-table-checksum 2014-11-17 22:24:54.000000000 +0000 +@@ -12459,8 +12459,6 @@ Show version and exit. =item --[no]version-check @@ -235,10 +235,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.11/bin/pt-table-sync +Index: percona-toolkit-2.2.12/bin/pt-table-sync =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-table-sync -+++ percona-toolkit-2.2.11/bin/pt-table-sync +--- percona-toolkit-2.2.12.orig/bin/pt-table-sync 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-table-sync 2014-11-17 22:24:54.000000000 +0000 @@ -12500,8 +12500,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.11/bin/pt-upgrade +Index: percona-toolkit-2.2.12/bin/pt-upgrade =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-upgrade -+++ percona-toolkit-2.2.11/bin/pt-upgrade -@@ -11033,8 +11033,6 @@ Show version and exit. +--- percona-toolkit-2.2.12.orig/bin/pt-upgrade 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-upgrade 2014-11-17 22:24:54.000000000 +0000 +@@ -11052,8 +11052,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.11/bin/pt-variable-advisor +Index: percona-toolkit-2.2.12/bin/pt-variable-advisor =================================================================== ---- percona-toolkit-2.2.11.orig/bin/pt-variable-advisor -+++ percona-toolkit-2.2.11/bin/pt-variable-advisor +--- percona-toolkit-2.2.12.orig/bin/pt-variable-advisor 2014-11-11 13:36:50.000000000 +0000 ++++ percona-toolkit-2.2.12/bin/pt-variable-advisor 2014-11-17 22:24:54.000000000 +0000 @@ -5968,8 +5968,6 @@ Show version and exit. =item --[no]version-check -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de