Merge pull request #352 from percona/release-3.0.11

Release 3.0.11
This commit is contained in:
Carlos Salguero
2018-07-06 15:51:30 -03:00
committed by GitHub
47 changed files with 65180 additions and 99 deletions

View File

@@ -39,6 +39,9 @@ before_script:
script:
- go test -timeout 1m ./src/...
allow_failures:
- tip
notifications:
email: false
slack:

View File

@@ -1,5 +1,8 @@
Changelog for Percona Toolkit
v3.0.11 released 2018-07-06
* Improvement PT-1571 : Improved hostname recognition in pt-secure-collect
* Fixed bug PT-1570 : pt-archiver fails to detect columns with the word GENERATED as part of the comment
* Improvement PT-1569 : Disabled --alter-foreign-keys-method=drop_swap in pt-osc
* Fixed bug PT-1563 : Fixed pt-show-grants for MySQL 5.6

View File

@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'percona-toolkit',
VERSION => '3.0.10',
VERSION => '3.0.11',
EXE_FILES => [ <bin/*> ],
MAN1PODS => {
'docs/percona-toolkit.pod' => 'blib/man1/percona-toolkit.1p',

View File

@@ -1359,6 +1359,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-align 3.0.10
pt-align 3.0.11
=cut

View File

@@ -8585,6 +8585,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-archiver 3.0.10
pt-archiver 3.0.11
=cut

View File

@@ -5884,6 +5884,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-config-diff 3.0.10
pt-config-diff 3.0.11
=cut

View File

@@ -5674,6 +5674,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-deadlock-logger 3.0.10
pt-deadlock-logger 3.0.11
=cut

View File

@@ -5668,6 +5668,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-diskstats 3.0.10
pt-diskstats 3.0.11
=cut

View File

@@ -5737,6 +5737,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-duplicate-key-checker 3.0.10
pt-duplicate-key-checker 3.0.11
=cut

View File

@@ -1648,6 +1648,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-fifo-split 3.0.10
pt-fifo-split 3.0.11
=cut

View File

@@ -5098,6 +5098,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-find 3.0.10
pt-find 3.0.11
=cut

View File

@@ -2239,6 +2239,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-fingerprint 3.0.10
pt-fingerprint 3.0.11
=cut

View File

@@ -4660,6 +4660,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-fk-error-logger 3.0.10
pt-fk-error-logger 3.0.11
=cut

View File

@@ -7339,6 +7339,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-heartbeat 3.0.10
pt-heartbeat 3.0.11
=cut

View File

@@ -7667,6 +7667,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-index-usage 3.0.10
pt-index-usage 3.0.11
=cut

View File

@@ -1127,7 +1127,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-ioprofile 3.0.10
pt-ioprofile 3.0.11
=cut

View File

@@ -8495,6 +8495,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-kill 3.0.10
pt-kill 3.0.11
=cut

View File

@@ -804,7 +804,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-mext 3.0.10
pt-mext 3.0.11
=cut

View File

@@ -3287,7 +3287,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-mysql-summary 3.0.10
pt-mysql-summary 3.0.11
=cut

View File

@@ -897,7 +897,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-pmp 3.0.10
pt-pmp 3.0.11
=cut

View File

@@ -16909,6 +16909,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-query-digest 3.0.10
pt-query-digest 3.0.11
=cut

View File

@@ -2591,6 +2591,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-show-grants 3.0.10
pt-show-grants 3.0.11
=cut

View File

@@ -1245,7 +1245,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-sift 3.0.10
pt-sift 3.0.11
=cut

View File

@@ -4960,6 +4960,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-slave-delay 3.0.10
pt-slave-delay 3.0.11
=cut

View File

@@ -4482,6 +4482,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-slave-find 3.0.10
pt-slave-find 3.0.11
=cut

View File

@@ -6112,6 +6112,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-slave-restart 3.0.10
pt-slave-restart 3.0.11
=cut

View File

@@ -916,7 +916,7 @@ collect() {
local ps_instrumentation_enabled=$($CMD_MYSQL $EXT_ARGV -e 'SELECT ENABLED FROM performance_schema.setup_instruments WHERE NAME = "transaction";' \
| sed "2q;d" | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/')
if [ $ps_instrumentation_enabled != "yes" ]; then
if [ !$ps_instrumentation_enabled = "yes" ]; then
log "Performance Schema instrumentation is disabled"
fi
@@ -1162,26 +1162,25 @@ slave_status() {
local outfile=$1
local mysql_version=$2
if [ "${mysql_version}" '<' "5.7" ]; then
local sql="SHOW SLAVE STATUS\G"
echo -e "\n$sql\n" >> $outfile
$CMD_MYSQL $EXT_ARGV -e "$sql" >> $outfile
else
local sql="SHOW SLAVE STATUS\G"
echo -e "\n$sql\n" >> $outfile
$CMD_MYSQL $EXT_ARGV -e "$sql" >> $outfile
if [ "${mysql_version}" '>' "5.6" ]; then
local sql="SELECT * FROM performance_schema.replication_connection_configuration JOIN performance_schema.replication_applier_configuration USING(channel_name)\G"
echo -e "\n$sql\n" >> $outfile
$CMD_MYSQL $EXT_ARGV -e "$sql" >> $outfile
sql="SELECT * FROM replication_connection_status\G"
sql="SELECT * FROM performance_schema.replication_connection_status\G"
echo -e "\n$sql\n" >> $outfile
$CMD_MYSQL $EXT_ARGV -e "$sql" >> $outfile
sql="SELECT * FROM replication_applier_status JOIN replication_applier_status_by_coordinator USING(channel_name)\G"
sql="SELECT * FROM performance_schema.replication_applier_status JOIN performance_schema.replication_applier_status_by_coordinator USING(channel_name)\G"
echo -e "\n$sql\n" >> $outfile
$CMD_MYSQL $EXT_ARGV -e "$sql" >> $outfile
fi
}
collect_mysql_variables() {
local outfile=$1
@@ -2376,7 +2375,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-stalk 3.0.10
pt-stalk 3.0.11
=cut

View File

@@ -2723,7 +2723,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-summary 3.0.10
pt-summary 3.0.11
=cut

View File

@@ -14030,6 +14030,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-table-checksum 3.0.10
pt-table-checksum 3.0.11
=cut

View File

@@ -13044,6 +13044,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-table-sync 3.0.10
pt-table-sync 3.0.11
=cut

View File

@@ -8487,6 +8487,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-table-usage 3.0.10
pt-table-usage 3.0.11
=cut

View File

@@ -11414,6 +11414,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-upgrade 3.0.10
pt-upgrade 3.0.11
=cut

View File

@@ -6229,6 +6229,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-variable-advisor 3.0.10
pt-variable-advisor 3.0.11
=cut

View File

@@ -3281,6 +3281,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
pt-visual-explain 3.0.10
pt-visual-explain 3.0.11
=cut

View File

@@ -1,3 +1,29 @@
percona-toolkit (3.0.11-1) unstable; urgency=low
* Improvement PT-1571 : Improved hostname recognition in pt-secure-collect
* Fixed bug PT-1570 : pt-archiver fails to detect columns with the word GENERATED as part of the comment
* Improvement PT-1569 : Disabled --alter-foreign-keys-method=drop_swap in pt-osc
* Fixed bug PT-1563 : Fixed pt-show-grants for MySQL 5.6
* Improvement PT-1562 : pt-mysql-summary: Fix mysqld command for Travis
* Fixed bug PT-1551 : pt-table-checksum fails on MySQL 8.0.11
* Improvement PT-242 : (pt-stalk) Include SHOW SLAVE STATUS on 5.7 (Thanks Marcelo Altmann)
* Fixed bug PT-241 : (pt-stalk) Slave queries doesn't run on 5.7 (Thanks Marcelo Altmann)
-- Percona Toolkit Developers <toolkit-dev@percona.com> Fri, 06 Jul 2018 15:07:41 +0000
percona-toolkit (3.0.11-1) unstable; urgency=low
* Improvement PT-1571 : Improved hostname recognition in pt-secure-collect
* Fixed bug PT-1570 : pt-archiver fails to detect columns with the word GENERATED as part of the comment
* Improvement PT-1569 : Disabled --alter-foreign-keys-method=drop_swap in pt-osc
* Fixed bug PT-1563 : Fixed pt-show-grants for MySQL 5.6
* Improvement PT-1562 : pt-mysql-summary: Fix mysqld command for Travis
* Fixed bug PT-1551 : pt-table-checksum fails on MySQL 8.0.11
* Improvement PT-242 : (pt-stalk) Include SHOW SLAVE STATUS on 5.7 (Thanks Marcelo Altmann)
* Fixed bug PT-241 : (pt-stalk) Slave queries doesn't run on 5.7 (Thanks Marcelo Altmann)
-- Percona Toolkit Developers <toolkit-dev@percona.com> Tue, 03 Jul 2018 12:54:53 +0000
percona-toolkit (3.0.10-1) unstable; urgency=low

View File

@@ -50,7 +50,7 @@ copyright = u'2017, Percona LLC and/or its affiliates'
# The short X.Y version.
version = '3.0'
# The full version, including alpha/beta/rc tags.
release = '3.0.10'
release = '3.0.11'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@@ -560,6 +560,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA.
=head1 VERSION
Percona Toolkit v3.0.10 released 2018-05-21
Percona Toolkit v3.0.11 released 2018-07-06
=cut

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
STOP SLAVE FOR CHANNEL '';
SET GLOBAL master_info_repository = 'TABLE';
SET @@GLOBAL.relay_log_info_repository = 'TABLE';
SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=ON;
SET @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;
SET @@GLOBAL.GTID_MODE = ON_PERMISSIVE;
SET @@GLOBAL.GTID_MODE = ON;
CHANGE MASTER TO master_host='127.0.0.1', master_port=2900, master_user='msandbox', master_password='msandbox', master_auto_position=1 FOR CHANNEL 'masterchan1';
CHANGE MASTER TO master_host='127.0.0.1', master_port=2901, master_user='msandbox', master_password='msandbox', master_auto_position=1 FOR CHANNEL 'masterchan2';
START SLAVE for channel 'masterchan1';
START SLAVE for channel 'masterchan2';

View File

@@ -1,6 +1,6 @@
GO := go
pkgs = $(shell find . -type d -name "pt-*" -exec basename {} \;)
VERSION="3.0.10"
VERSION="3.0.11"
BUILD=$(shell date +%FT%T%z)
GOVERSION=$(shell go version | cut --delimiter=" " -f3)
GOUTILSDIR ?= $(GOPATH)/bin

View File

@@ -8,7 +8,7 @@ import (
)
var (
hostnameRE = regexp.MustCompile(`(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-][A-Za-z0-9]){2,3}(?:\W)`)
hostnameRE = regexp.MustCompile(`(([a-zA-Z0-9]|[a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z]+)|([0-9]{1,3}\.){3}[0-9]{1,3}`)
queryLineRe []*regexp.Regexp
queryInLineRe []*regexp.Regexp
)

View File

@@ -0,0 +1,54 @@
package sanitize
import (
"reflect"
"testing"
"github.com/kr/pretty"
)
func TestSanitizeHostnames(t *testing.T) {
want := []string{
"top - 20:05:17 up 10 days, 16:27, 1 user, load average: 0.01, 0.15, 0.19",
"Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie",
"%Cpu(s): 1.0 us, 0.3 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st",
"KiB Mem : 3881748 total, 147324 free, 1892824 used, 1841600 buff/cache",
"KiB Swap: 1572860 total, 1572748 free, 112 used. 1609372 avail Mem",
"",
"PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND",
"5304 vagrant 20 0 1983280 1.327g 12272 S 2.3 35.8 456:34.90 prometheus",
"5313 root 20 0 142100 16952 5428 S 1.0 0.4 189:16.81 node_exporter ",
}
lines := make([]string, len(want))
copy(lines, want)
sanitizeHostnames(lines)
if !reflect.DeepEqual(lines, want) {
pretty.Println(want)
pretty.Println(lines)
t.Error("structures don't match")
}
lines = []string{
"top - 20:05:17 up 10 days, 16:27, 1 user, load average: 0.01, 0.15, 0.19",
"Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie",
"%Cpu(s): 1.0 us, 0.3 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st",
"lets put a host name here: domain.com",
"and put an ip address here: 10.0.0.1",
"and put a non ip address here: 10.0",
}
want = []string{
"top - 20:05:17 up 10 days, 16:27, 1 user, load average: 0.01, 0.15, 0.19",
"Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie",
"%Cpu(s): 1.0 us, 0.3 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st",
"lets put a host name here: hostname",
"and put an ip address here: hostname",
"and put a non ip address here: 10.0",
}
sanitizeHostnames(lines)
if !reflect.DeepEqual(lines, want) {
t.Error("structures don't match")
pretty.Println(want)
pretty.Println(lines)
}
}

View File

@@ -489,11 +489,13 @@ SKIP: {
$sb->load_file('chan_master1', "sandbox/gtid_on.sql", undef, no_wait => 1);
$sb->load_file('chan_master2', "sandbox/gtid_on.sql", undef, no_wait => 1);
$sb->load_file('chan_slave1', "sandbox/slave_channels.sql", undef, no_wait => 1);
$sb->load_file('chan_slave1', "sandbox/slave_channels_t.sql", undef, no_wait => 1);
my $slave_cnf = "/tmp/$slave1_port/my.sandbox.cnf";
my $cmd = "$trunk/bin/pt-stalk --no-stalk --iterations=1 --host=127.0.0.1 --port=$slave1_port --user=msandbox "
. "--password=msandbox --sleep 0 --run-time=10 --dest $dest --log $log_file --iterations=1 "
. "--run-time=2 --pid $pid_file --defaults-file=$cnf >$log_file 2>&1";
. "--run-time=2 --pid $pid_file --defaults-file=$slave_cnf >$log_file 2>&1";
diag ($cmd);
system($cmd);
sleep 5;
PerconaTest::kill_program(pid_file => $pid_file);
@@ -502,9 +504,9 @@ SKIP: {
like(
$output,
qr/FROM performance_schema.replication_connection_configuration JOIN performance_schema.replication_applier_configuration USING/,
qr/Slave has read all relay log; waiting for more updates/,
"MySQL 5.7 SLAVE STATUS"
);
) or diag ($output);
$sb->stop_sandbox(qw(chan_master1 chan_master2 chan_slave1));
}

View File

@@ -1,27 +1,6 @@
if all tables be checksummed
checksum ...
ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
0 0 0 1 0 mysql.columns_priv
0 0 0 1 0 mysql.db
0 0 0 1 0 mysql.event
0 0 0 1 0 mysql.func
0 0 40 1 0 mysql.help_category
0 0 473 1 0 mysql.help_keyword
0 0 1045 1 0 mysql.help_relation
0 0 529 1 0 mysql.help_topic
0 0 0 1 0 mysql.ndb_binlog_index
0 0 0 1 0 mysql.plugin
0 0 0 1 0 mysql.proc
0 0 0 1 0 mysql.procs_priv
0 0 2 1 0 mysql.proxies_priv
0 0 0 1 0 mysql.servers
0 0 0 1 0 mysql.tables_priv
0 0 0 1 0 mysql.time_zone
0 0 0 1 0 mysql.time_zone_leap_second
0 0 0 1 0 mysql.time_zone_name
0 0 0 1 0 mysql.time_zone_transition
0 0 0 1 0 mysql.time_zone_transition_type
0 0 2 1 0 mysql.user
0 0 22 1 0 percona_test.checksums
0 0 1 1 0 percona_test.load_data
0 0 1 1 0 percona_test.sentinel

View File

@@ -1,29 +1,6 @@
if all tables be checksummed
checksum ...
ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
0 0 0 1 0 mysql.columns_priv
0 0 0 1 0 mysql.db
0 0 2 1 0 mysql.engine_cost
0 0 0 1 0 mysql.event
0 0 0 1 0 mysql.func
0 0 40 1 0 mysql.help_category
0 0 682 1 0 mysql.help_keyword
0 0 1340 1 0 mysql.help_relation
0 0 637 1 0 mysql.help_topic
0 0 0 1 0 mysql.ndb_binlog_index
0 0 0 1 0 mysql.plugin
0 0 0 1 0 mysql.proc
0 0 0 1 0 mysql.procs_priv
0 0 0 1 0 mysql.proxies_priv
0 0 6 1 0 mysql.server_cost
0 0 0 1 0 mysql.servers
0 0 0 1 0 mysql.tables_priv
0 0 0 1 0 mysql.time_zone
0 0 0 1 0 mysql.time_zone_leap_second
0 0 0 1 0 mysql.time_zone_name
0 0 0 1 0 mysql.time_zone_transition
0 0 0 1 0 mysql.time_zone_transition_type
0 0 2 1 0 mysql.user
0 0 23 1 0 percona_test.checksums
0 0 1 1 0 percona_test.load_data
0 0 1 1 0 percona_test.sentinel

View File

@@ -21,7 +21,7 @@ my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
if ($sandbox_version ge '8.0') {
plan skip_all => "TODO master master sandbox is failing with MySQL 8.0+. FIX ME !!!!";
} else {
plan 4;
plan tests => 4;
}
# #############################################################################

View File

@@ -36,7 +36,7 @@ elsif ( !$slave1_dbh ) {
plan skip_all => 'Cannot connect to sandbox slave2';
}
else {
plan tests => 4;
plan tests => 5;
}
my ($output, $status);