From 9c4517f55f32280c5958d1bf9279bf77eaa7929b Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Fri, 5 Oct 2012 16:28:45 -0600 Subject: [PATCH 1/5] Merge fix for bug 1062563. --- bin/pt-table-checksum | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index 733206c9..c6a26d7a 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -8580,7 +8580,7 @@ sub main { } else { PTDEBUG && _d('Will check slave lag on all slaves'); - $slave_lag_cxns = $slaves; + $slave_lag_cxns = [ map { $_ } @$slaves ]; } # Cluster nodes aren't slaves, so SHOW SLAVE STATUS doesn't work. From b2cb95940ffc33e6d12c9b574737ae57b7b2ab6f Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Mon, 8 Oct 2012 12:53:54 -0600 Subject: [PATCH 2/5] Merge partial-fix-1063912-ptc-pxc-slaves/ -r403..405 --- bin/pt-table-checksum | 10 +++++++++- lib/Cxn.pm | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index c6a26d7a..4ee45a8c 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -3320,7 +3320,9 @@ sub is_cluster_node { PTDEBUG && _d($sql); my $row = $self->{dbh}->selectrow_arrayref($sql); PTDEBUG && _d(defined $row ? @$row : 'undef'); - $self->{is_cluster_node} = $row && $row->[0] ? 1 : 0; + $self->{is_cluster_node} = $row && $row->[1] + ? ($row->[1] eq 'ON' || $row->[1] eq '1') + : 0; return $self->{is_cluster_node}; } @@ -11313,6 +11315,12 @@ nodes and regular replicas because nodes are not regular replicas so they cannot be detected automatically. The lag check (see L<"REPLICA CHECKS">) is not performed for cluster nodes. +Mixed replication setups are not currently supported. For example, the tool +does not work completely if the master host is replicating to a cluster, +or if the cluster is replicating to another cluster. In short, the only +supported setup is a single cluster with nodes optionally having traditional +replication slaves. + =back =head1 BUGS diff --git a/lib/Cxn.pm b/lib/Cxn.pm index becaeb29..5efca626 100644 --- a/lib/Cxn.pm +++ b/lib/Cxn.pm @@ -203,7 +203,9 @@ sub is_cluster_node { PTDEBUG && _d($sql); my $row = $self->{dbh}->selectrow_arrayref($sql); PTDEBUG && _d(defined $row ? @$row : 'undef'); - $self->{is_cluster_node} = $row && $row->[0] ? 1 : 0; + $self->{is_cluster_node} = $row && $row->[1] + ? ($row->[1] eq 'ON' || $row->[1] eq '1') + : 0; return $self->{is_cluster_node}; } From 9e31eb5d5e21a1f37b49614a56e31acaeec5617d Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Mon, 8 Oct 2012 13:13:06 -0600 Subject: [PATCH 3/5] Update Pingback, HTTPMicro, and VersionCheck in pt-table-sync. --- bin/pt-table-sync | 208 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 198 insertions(+), 10 deletions(-) diff --git a/bin/pt-table-sync b/bin/pt-table-sync index c9f8a708..6363e312 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -8389,12 +8389,13 @@ sub valid_item { sub get_os_version { my ($self) = @_; + if ( $OSNAME eq 'MSWin32' ) { + require Win32; + return Win32::GetOSDisplayName(); + } + chomp(my $platform = `uname -s`); PTDEBUG && _d('platform:', $platform); - if ( !$platform ) { - return $OSNAME if $OSNAME ne 'MSWin32'; - return Win32::GetOSDisplayName(); - } return $OSNAME unless $platform; chomp(my $lsb_release @@ -8428,6 +8429,10 @@ sub get_os_version { $release .= " ($code_name)" if $code_name; } } + elsif ( -f "/etc/os-release" ) { # openSUSE + chomp($release = `grep PRETTY_NAME /etc/os-release`); + $release =~ s/^PRETTY_NAME="(.+)"$/$1/; + } elsif ( `ls /etc/*release 2>/dev/null` ) { if ( `grep DISTRIB_DESCRIPTION /etc/*release 2>/dev/null` ) { $release = `grep DISTRIB_DESCRIPTION /etc/*release | head -n1`; @@ -8437,7 +8442,7 @@ sub get_os_version { } } } - elsif ( $platform =~ m/^(BSD|Darwin)$/ ) { + elsif ( $platform =~ m/(?:BSD|^Darwin)$/ ) { my $rel = `uname -r`; $release = "$platform $rel"; } @@ -8452,6 +8457,8 @@ sub get_os_version { } chomp($release); + $release =~ s/^"|"$//g; + PTDEBUG && _d('OS version =', $release); return $release; } @@ -8782,8 +8789,14 @@ sub connect { IO::Socket::SSL->start_SSL($self->{fh}); ref($self->{fh}) eq 'IO::Socket::SSL' or die(qq/SSL connection failed for $host\n/); - $self->{fh}->verify_hostname( $host, $ssl_verify_args ) - or die(qq/SSL certificate not valid for $host\n/); + if ( $self->{fh}->can("verify_hostname") ) { + $self->{fh}->verify_hostname( $host, $ssl_verify_args ); + } + else { + my $fh = $self->{fh}; + _verify_hostname_of_cert($host, _peer_certificate($fh), $ssl_verify_args) + or die(qq/SSL certificate not valid for $host\n/); + } } $self->{host} = $host; @@ -9026,6 +9039,179 @@ sub can_write { return $self->_do_timeout('write', @_) } +my $prog = <<'EOP'; +BEGIN { + if ( defined &IO::Socket::SSL::CAN_IPV6 ) { + *CAN_IPV6 = \*IO::Socket::SSL::CAN_IPV6; + } + else { + constant->import( CAN_IPV6 => '' ); + } + my %const = ( + NID_CommonName => 13, + GEN_DNS => 2, + GEN_IPADD => 7, + ); + while ( my ($name,$value) = each %const ) { + no strict 'refs'; + *{$name} = UNIVERSAL::can( 'Net::SSLeay', $name ) || sub { $value }; + } +} +{ + my %dispatcher = ( + issuer => sub { Net::SSLeay::X509_NAME_oneline( Net::SSLeay::X509_get_issuer_name( shift )) }, + subject => sub { Net::SSLeay::X509_NAME_oneline( Net::SSLeay::X509_get_subject_name( shift )) }, + ); + if ( $Net::SSLeay::VERSION >= 1.30 ) { + $dispatcher{commonName} = sub { + my $cn = Net::SSLeay::X509_NAME_get_text_by_NID( + Net::SSLeay::X509_get_subject_name( shift ), NID_CommonName); + $cn =~s{\0$}{}; # work around Bug in Net::SSLeay <1.33 + $cn; + } + } else { + $dispatcher{commonName} = sub { + croak "you need at least Net::SSLeay version 1.30 for getting commonName" + } + } + + if ( $Net::SSLeay::VERSION >= 1.33 ) { + $dispatcher{subjectAltNames} = sub { Net::SSLeay::X509_get_subjectAltNames( shift ) }; + } else { + $dispatcher{subjectAltNames} = sub { + return; + }; + } + + $dispatcher{authority} = $dispatcher{issuer}; + $dispatcher{owner} = $dispatcher{subject}; + $dispatcher{cn} = $dispatcher{commonName}; + + sub _peer_certificate { + my ($self, $field) = @_; + my $ssl = $self->_get_ssl_object or return; + + my $cert = ${*$self}{_SSL_certificate} + ||= Net::SSLeay::get_peer_certificate($ssl) + or return $self->error("Could not retrieve peer certificate"); + + if ($field) { + my $sub = $dispatcher{$field} or croak + "invalid argument for peer_certificate, valid are: ".join( " ",keys %dispatcher ). + "\nMaybe you need to upgrade your Net::SSLeay"; + return $sub->($cert); + } else { + return $cert + } + } + + + my %scheme = ( + ldap => { + wildcards_in_cn => 0, + wildcards_in_alt => 'leftmost', + check_cn => 'always', + }, + http => { + wildcards_in_cn => 'anywhere', + wildcards_in_alt => 'anywhere', + check_cn => 'when_only', + }, + smtp => { + wildcards_in_cn => 0, + wildcards_in_alt => 0, + check_cn => 'always' + }, + none => {}, # do not check + ); + + $scheme{www} = $scheme{http}; # alias + $scheme{xmpp} = $scheme{http}; # rfc 3920 + $scheme{pop3} = $scheme{ldap}; # rfc 2595 + $scheme{imap} = $scheme{ldap}; # rfc 2595 + $scheme{acap} = $scheme{ldap}; # rfc 2595 + $scheme{nntp} = $scheme{ldap}; # rfc 4642 + $scheme{ftp} = $scheme{http}; # rfc 4217 + + + sub _verify_hostname_of_cert { + my $identity = shift; + my $cert = shift; + my $scheme = shift || 'none'; + if ( ! ref($scheme) ) { + $scheme = $scheme{$scheme} or croak "scheme $scheme not defined"; + } + + return 1 if ! %$scheme; # 'none' + + my $commonName = $dispatcher{cn}->($cert); + my @altNames = $dispatcher{subjectAltNames}->($cert); + + if ( my $sub = $scheme->{callback} ) { + return $sub->($identity,$commonName,@altNames); + } + + + my $ipn; + if ( CAN_IPV6 and $identity =~m{:} ) { + $ipn = IO::Socket::SSL::inet_pton(IO::Socket::SSL::AF_INET6,$identity) + or croak "'$identity' is not IPv6, but neither IPv4 nor hostname"; + } elsif ( $identity =~m{^\d+\.\d+\.\d+\.\d+$} ) { + $ipn = IO::Socket::SSL::inet_aton( $identity ) or croak "'$identity' is not IPv4, but neither IPv6 nor hostname"; + } else { + if ( $identity =~m{[^a-zA-Z0-9_.\-]} ) { + $identity =~m{\0} and croak("name '$identity' has \\0 byte"); + $identity = IO::Socket::SSL::idn_to_ascii($identity) or + croak "Warning: Given name '$identity' could not be converted to IDNA!"; + } + } + + my $check_name = sub { + my ($name,$identity,$wtyp) = @_; + $wtyp ||= ''; + my $pattern; + if ( $wtyp eq 'anywhere' and $name =~m{^([a-zA-Z0-9_\-]*)\*(.+)} ) { + $pattern = qr{^\Q$1\E[a-zA-Z0-9_\-]*\Q$2\E$}i; + } elsif ( $wtyp eq 'leftmost' and $name =~m{^\*(\..+)$} ) { + $pattern = qr{^[a-zA-Z0-9_\-]*\Q$1\E$}i; + } else { + $pattern = qr{^\Q$name\E$}i; + } + return $identity =~ $pattern; + }; + + my $alt_dnsNames = 0; + while (@altNames) { + my ($type, $name) = splice (@altNames, 0, 2); + if ( $ipn and $type == GEN_IPADD ) { + return 1 if $ipn eq $name; + + } elsif ( ! $ipn and $type == GEN_DNS ) { + $name =~s/\s+$//; $name =~s/^\s+//; + $alt_dnsNames++; + $check_name->($name,$identity,$scheme->{wildcards_in_alt}) + and return 1; + } + } + + if ( ! $ipn and ( + $scheme->{check_cn} eq 'always' or + $scheme->{check_cn} eq 'when_only' and !$alt_dnsNames)) { + $check_name->($commonName,$identity,$scheme->{wildcards_in_cn}) + and return 1; + } + + return 0; # no match + } +} +EOP + +eval { require IO::Socket::SSL }; +if ( $INC{"IO/Socket/SSL.pm"} ) { + eval $prog; + die $@ if $@; +} + 1; } # ########################################################################### @@ -9113,8 +9299,10 @@ sub version_check { print "# Percona suggests these upgrades:\n"; print join("\n", map { "# * $_" } @$advice), "\n\n"; } - elsif ( $ENV{PTVCDEBUG} || PTDEBUG ) { - _d('--version-check worked, but there were no suggestions'); + else { + print "# No suggestions at this time.\n\n"; + ($ENV{PTVCDEBUG} || PTDEBUG ) + && _d('--version-check worked, but there were no suggestions'); } }; if ( $EVAL_ERROR ) { @@ -9287,7 +9475,7 @@ sub update_checks_file { sub _touch { my ($file) = @_; - sysopen my $fh, $file, O_WRONLY|O_CREAT|O_NONBLOCK + sysopen my $fh, $file, O_WRONLY|O_CREAT or die "Cannot create $file : $!"; close $fh or die "Cannot close $file : $!"; utime(undef, undef, $file); From 2d3239997149f0ed05387b19c3c67575359abffe Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Mon, 8 Oct 2012 14:40:24 -0600 Subject: [PATCH 4/5] Update Changelog with 2.1.5 bug fixes. --- Changelog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Changelog b/Changelog index f7b8496c..f9ad3d36 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,10 @@ Changelog for Percona Toolkit + * Fixed bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes + * Fixed bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes + * Fixed bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL + * Fixed bug 1060423: Missing version-check page + v2.1.4 released 2012-09-20 * pt-table-checksum: Percona XtraDB Cluster support From 309bc1f27060293a5211514b7f595b7424db6e6e Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Mon, 8 Oct 2012 22:02:17 +0100 Subject: [PATCH 5/5] Build percona-toolkit-2.1.5 --- Changelog | 2 ++ Makefile.PL | 2 +- bin/pt-align | 2 +- bin/pt-archiver | 2 +- bin/pt-config-diff | 2 +- bin/pt-deadlock-logger | 2 +- bin/pt-diskstats | 2 +- bin/pt-duplicate-key-checker | 2 +- bin/pt-fifo-split | 2 +- bin/pt-find | 2 +- bin/pt-fingerprint | 2 +- bin/pt-fk-error-logger | 2 +- bin/pt-heartbeat | 2 +- bin/pt-index-usage | 2 +- bin/pt-ioprofile | 2 +- bin/pt-kill | 2 +- bin/pt-log-player | 2 +- bin/pt-mext | 2 +- bin/pt-mysql-summary | 2 +- bin/pt-online-schema-change | 2 +- bin/pt-pmp | 2 +- bin/pt-query-advisor | 2 +- bin/pt-query-digest | 2 +- bin/pt-show-grants | 2 +- bin/pt-sift | 2 +- bin/pt-slave-delay | 2 +- bin/pt-slave-find | 2 +- bin/pt-slave-restart | 2 +- bin/pt-stalk | 2 +- bin/pt-summary | 2 +- bin/pt-table-checksum | 2 +- bin/pt-table-sync | 2 +- bin/pt-table-usage | 2 +- bin/pt-tcp-model | 2 +- bin/pt-trend | 2 +- bin/pt-upgrade | 2 +- bin/pt-variable-advisor | 2 +- bin/pt-visual-explain | 2 +- config/deb/changelog | 9 +++++++++ config/sphinx-build/conf.py | 2 +- docs/percona-toolkit.pod | 2 +- docs/release_notes.rst | 27 +++++++++++++++++++++++++++ 42 files changed, 77 insertions(+), 39 deletions(-) diff --git a/Changelog b/Changelog index f9ad3d36..208e5540 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,7 @@ Changelog for Percona Toolkit +v2.1.5 released 2012-10-08 + * Fixed bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes * Fixed bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes * Fixed bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL diff --git a/Makefile.PL b/Makefile.PL index a92b316f..f2d0b7a8 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -2,7 +2,7 @@ use ExtUtils::MakeMaker; WriteMakefile( NAME => 'percona-toolkit', - VERSION => '2.1.4', + VERSION => '2.1.5', EXE_FILES => [ ], MAN1PODS => { 'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p', diff --git a/bin/pt-align b/bin/pt-align index eab89363..be875111 100755 --- a/bin/pt-align +++ b/bin/pt-align @@ -218,6 +218,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-align 2.1.4 +pt-align 2.1.5 =cut diff --git a/bin/pt-archiver b/bin/pt-archiver index f18d4884..f17a8dd0 100755 --- a/bin/pt-archiver +++ b/bin/pt-archiver @@ -7489,6 +7489,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-archiver 2.1.4 +pt-archiver 2.1.5 =cut diff --git a/bin/pt-config-diff b/bin/pt-config-diff index c4d43e9f..719df9c4 100755 --- a/bin/pt-config-diff +++ b/bin/pt-config-diff @@ -4803,6 +4803,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-config-diff 2.1.4 +pt-config-diff 2.1.5 =cut diff --git a/bin/pt-deadlock-logger b/bin/pt-deadlock-logger index 7f76e59c..1ce335a1 100755 --- a/bin/pt-deadlock-logger +++ b/bin/pt-deadlock-logger @@ -4721,6 +4721,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-deadlock-logger 2.1.4 +pt-deadlock-logger 2.1.5 =cut diff --git a/bin/pt-diskstats b/bin/pt-diskstats index 2dd03be5..8ff2fcfc 100755 --- a/bin/pt-diskstats +++ b/bin/pt-diskstats @@ -5537,6 +5537,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-diskstats 2.1.4 +pt-diskstats 2.1.5 =cut diff --git a/bin/pt-duplicate-key-checker b/bin/pt-duplicate-key-checker index 745dd7d3..f3acba29 100755 --- a/bin/pt-duplicate-key-checker +++ b/bin/pt-duplicate-key-checker @@ -5385,6 +5385,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-duplicate-key-checker 2.1.4 +pt-duplicate-key-checker 2.1.5 =cut diff --git a/bin/pt-fifo-split b/bin/pt-fifo-split index 51911ffa..e8e34d9d 100755 --- a/bin/pt-fifo-split +++ b/bin/pt-fifo-split @@ -1560,6 +1560,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-fifo-split 2.1.4 +pt-fifo-split 2.1.5 =cut diff --git a/bin/pt-find b/bin/pt-find index 2f3f4653..5cef423c 100755 --- a/bin/pt-find +++ b/bin/pt-find @@ -4876,6 +4876,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-find 2.1.4 +pt-find 2.1.5 =cut diff --git a/bin/pt-fingerprint b/bin/pt-fingerprint index 5ddd47b9..f5c5b765 100755 --- a/bin/pt-fingerprint +++ b/bin/pt-fingerprint @@ -2151,6 +2151,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-fingerprint 2.1.4 +pt-fingerprint 2.1.5 =cut diff --git a/bin/pt-fk-error-logger b/bin/pt-fk-error-logger index d5541928..67b5ac56 100755 --- a/bin/pt-fk-error-logger +++ b/bin/pt-fk-error-logger @@ -3968,6 +3968,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-fk-error-logger 2.1.4 +pt-fk-error-logger 2.1.5 =cut diff --git a/bin/pt-heartbeat b/bin/pt-heartbeat index 30e97647..a55b4680 100755 --- a/bin/pt-heartbeat +++ b/bin/pt-heartbeat @@ -5902,6 +5902,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-heartbeat 2.1.4 +pt-heartbeat 2.1.5 =cut diff --git a/bin/pt-index-usage b/bin/pt-index-usage index 65adeddc..4a775959 100755 --- a/bin/pt-index-usage +++ b/bin/pt-index-usage @@ -7428,6 +7428,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-index-usage 2.1.4 +pt-index-usage 2.1.5 =cut diff --git a/bin/pt-ioprofile b/bin/pt-ioprofile index eafd0cc5..a1d6002e 100755 --- a/bin/pt-ioprofile +++ b/bin/pt-ioprofile @@ -1103,7 +1103,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-ioprofile 2.1.4 +pt-ioprofile 2.1.5 =cut diff --git a/bin/pt-kill b/bin/pt-kill index 8b1fbfce..5c77c08a 100755 --- a/bin/pt-kill +++ b/bin/pt-kill @@ -7775,6 +7775,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-kill 2.1.4 +pt-kill 2.1.5 =cut diff --git a/bin/pt-log-player b/bin/pt-log-player index d8168e26..2d7606e9 100755 --- a/bin/pt-log-player +++ b/bin/pt-log-player @@ -3642,6 +3642,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-log-player 2.1.4 +pt-log-player 2.1.5 =cut diff --git a/bin/pt-mext b/bin/pt-mext index f9c77445..6b6e9226 100755 --- a/bin/pt-mext +++ b/bin/pt-mext @@ -282,7 +282,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-mext 2.1.4 +pt-mext 2.1.5 =cut diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index 6b97d64b..5bb31d0d 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -2905,7 +2905,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-mysql-summary 2.1.4 +pt-mysql-summary 2.1.5 =cut diff --git a/bin/pt-online-schema-change b/bin/pt-online-schema-change index 882fd1bd..466fae3f 100755 --- a/bin/pt-online-schema-change +++ b/bin/pt-online-schema-change @@ -10084,6 +10084,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-online-schema-change 2.1.4 +pt-online-schema-change 2.1.5 =cut diff --git a/bin/pt-pmp b/bin/pt-pmp index 4c4b0c3a..dff5884c 100755 --- a/bin/pt-pmp +++ b/bin/pt-pmp @@ -396,7 +396,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-pmp 2.1.4 +pt-pmp 2.1.5 =cut diff --git a/bin/pt-query-advisor b/bin/pt-query-advisor index af0d8e41..d5927de4 100755 --- a/bin/pt-query-advisor +++ b/bin/pt-query-advisor @@ -8675,6 +8675,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-query-advisor 2.1.4 +pt-query-advisor 2.1.5 =cut diff --git a/bin/pt-query-digest b/bin/pt-query-digest index 729a8ae0..84ca3f66 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -17103,6 +17103,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-query-digest 2.1.4 +pt-query-digest 2.1.5 =cut diff --git a/bin/pt-show-grants b/bin/pt-show-grants index 7aa758db..36ea83af 100755 --- a/bin/pt-show-grants +++ b/bin/pt-show-grants @@ -2252,6 +2252,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-show-grants 2.1.4 +pt-show-grants 2.1.5 =cut diff --git a/bin/pt-sift b/bin/pt-sift index 49379cc0..68559c2c 100755 --- a/bin/pt-sift +++ b/bin/pt-sift @@ -781,7 +781,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-sift 2.1.4 +pt-sift 2.1.5 =cut diff --git a/bin/pt-slave-delay b/bin/pt-slave-delay index 25ddd728..490ce106 100755 --- a/bin/pt-slave-delay +++ b/bin/pt-slave-delay @@ -4548,6 +4548,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-slave-delay 2.1.4 +pt-slave-delay 2.1.5 =cut diff --git a/bin/pt-slave-find b/bin/pt-slave-find index d905566a..d427c845 100755 --- a/bin/pt-slave-find +++ b/bin/pt-slave-find @@ -4008,6 +4008,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-slave-find 2.1.4 +pt-slave-find 2.1.5 =cut diff --git a/bin/pt-slave-restart b/bin/pt-slave-restart index 9c681cca..3ecc7463 100755 --- a/bin/pt-slave-restart +++ b/bin/pt-slave-restart @@ -5468,6 +5468,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-slave-restart 2.1.4 +pt-slave-restart 2.1.5 =cut diff --git a/bin/pt-stalk b/bin/pt-stalk index b4f301b8..5140fe0b 100755 --- a/bin/pt-stalk +++ b/bin/pt-stalk @@ -1775,7 +1775,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-stalk 2.1.4 +pt-stalk 2.1.5 =cut diff --git a/bin/pt-summary b/bin/pt-summary index 396754d4..4859d8b6 100755 --- a/bin/pt-summary +++ b/bin/pt-summary @@ -2673,7 +2673,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-summary 2.1.4 +pt-summary 2.1.5 =cut diff --git a/bin/pt-table-checksum b/bin/pt-table-checksum index 4ee45a8c..eba7750d 100755 --- a/bin/pt-table-checksum +++ b/bin/pt-table-checksum @@ -11404,6 +11404,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-table-checksum 2.1.4 +pt-table-checksum 2.1.5 =cut diff --git a/bin/pt-table-sync b/bin/pt-table-sync index 6363e312..60db946d 100755 --- a/bin/pt-table-sync +++ b/bin/pt-table-sync @@ -12578,6 +12578,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-table-sync 2.1.4 +pt-table-sync 2.1.5 =cut diff --git a/bin/pt-table-usage b/bin/pt-table-usage index b32da189..af5d1fde 100755 --- a/bin/pt-table-usage +++ b/bin/pt-table-usage @@ -7397,6 +7397,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-table-usage 2.1.4 +pt-table-usage 2.1.5 =cut diff --git a/bin/pt-tcp-model b/bin/pt-tcp-model index ce1576d5..402ed35f 100755 --- a/bin/pt-tcp-model +++ b/bin/pt-tcp-model @@ -2532,6 +2532,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-tcp-model 2.1.4 +pt-tcp-model 2.1.5 =cut diff --git a/bin/pt-trend b/bin/pt-trend index c243e6af..af0f4d99 100755 --- a/bin/pt-trend +++ b/bin/pt-trend @@ -2214,6 +2214,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-trend 2.1.4 +pt-trend 2.1.5 =cut diff --git a/bin/pt-upgrade b/bin/pt-upgrade index c8421f6b..2aaacf26 100755 --- a/bin/pt-upgrade +++ b/bin/pt-upgrade @@ -13067,6 +13067,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-upgrade 2.1.4 +pt-upgrade 2.1.5 =cut diff --git a/bin/pt-variable-advisor b/bin/pt-variable-advisor index 373c935b..56c8acc3 100755 --- a/bin/pt-variable-advisor +++ b/bin/pt-variable-advisor @@ -5822,6 +5822,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-variable-advisor 2.1.4 +pt-variable-advisor 2.1.5 =cut diff --git a/bin/pt-visual-explain b/bin/pt-visual-explain index 853fe301..6295bb77 100755 --- a/bin/pt-visual-explain +++ b/bin/pt-visual-explain @@ -3112,6 +3112,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -pt-visual-explain 2.1.4 +pt-visual-explain 2.1.5 =cut diff --git a/config/deb/changelog b/config/deb/changelog index a34080da..55df152b 100644 --- a/config/deb/changelog +++ b/config/deb/changelog @@ -1,3 +1,12 @@ +percona-toolkit (2.1.5) unstable; urgency=low + + * Fixed bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes + * Fixed bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes + * Fixed bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL + * Fixed bug 1060423: Missing version-check page + + -- Percona Toolkit Developers Mon, 08 Oct 2012 21:00:06 +0000 + percona-toolkit (2.1.4) unstable; urgency=low * pt-table-checksum: Percona XtraDB Cluster support diff --git a/config/sphinx-build/conf.py b/config/sphinx-build/conf.py index f3f71bcb..9ea8ad87 100644 --- a/config/sphinx-build/conf.py +++ b/config/sphinx-build/conf.py @@ -50,7 +50,7 @@ copyright = u'2011, Percona Inc' # The short X.Y version. version = '2.1' # The full version, including alpha/beta/rc tags. -release = '2.1.4' +release = '2.1.5' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/percona-toolkit.pod b/docs/percona-toolkit.pod index 1d0e010d..c3db9d65 100644 --- a/docs/percona-toolkit.pod +++ b/docs/percona-toolkit.pod @@ -510,6 +510,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA. =head1 VERSION -Percona Toolkit v2.1.4 released 2012-09-20 +Percona Toolkit v2.1.5 released 2012-10-08 =cut diff --git a/docs/release_notes.rst b/docs/release_notes.rst index d9fdad72..aea1fa62 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -1,6 +1,33 @@ Release Notes ************* +v2.1.5 released 2012-10-08 +========================== + +Percona Toolkit 2.1.5 has been released. This release is less than two weeks after the release of 2.1.4 because we wanted to address these bugs quickly: + +* Bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes + +* Bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes + +* Bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL + +The first two bugs fix how pt-table-checksum works with Percona XtraDB Cluster (PXC). Although the 2.1.4 release did introduce support for PXC, these bugs prevented pt-table-checksum from working correctly with a cluster. + +The third bug is also related to a feature new in 2.1.4: --version-check. The feature uses HTTPS/SSL by default, but some modules in pt-table-sync weren't update which could prevent it from working on older systems. Related, the version check web page mentioned in tools' documentation was also created. + +If you're using pt-table-checksum with a Percona XtraDB Cluster, you should definitely upgrade. Otherwise, users can wait until 2.1.6 for another full release. + +Percona Toolkit packages can be downloaded from http://www.percona.com/downloads/percona-toolkit/ or the Percona Software Repositories (http://www.percona.com/software/repositories/). + +Changelog +--------- + +* Fixed bug 1062563: pt-table-checksum 2.1.4 doesn't detect diffs on Percona XtraDB Cluster nodes +* Fixed bug 1063912: pt-table-checksum 2.1.4 miscategorizes Percona XtraDB Cluster-based slaves as cluster nodes +* Fixed bug 1064016: pt-table-sync 2.1.4 --version-check may not work with HTTPS/SSL +* Fixed bug 1060423: Missing version-check page + v2.1.4 released 2012-09-20 ==========================