PT-1554 Made tests for table checksum reliable under MySQL 8

This commit is contained in:
Carlos Salguero
2018-06-20 15:23:04 -03:00
parent 6d30d18834
commit c1d0134525
3 changed files with 11 additions and 40 deletions

View File

@@ -97,7 +97,7 @@ ok(
# 3 # 3
ok( ok(
no_diff( no_diff(
sub { pt_table_checksum::main(@args, qw(--chunk-time 0)) }, sub { pt_table_checksum::main(@args, qw(--chunk-time 0 --ignore-databases mysql)) },
"$sample/static-chunk-size-results-$sandbox_version.txt", "$sample/static-chunk-size-results-$sandbox_version.txt",
post_pipe => 'awk \'{print $2 " " $3 " " $4 " " $6 " " $7 " " $9}\'', post_pipe => 'awk \'{print $2 " " $3 " " $4 " " $6 " " $7 " " $9}\'',
), ),
@@ -130,13 +130,13 @@ $row = $slave1_dbh->selectrow_arrayref("select city, last_update from sakila.cit
$slave1_dbh->do("update sakila.city set city='test' where city_id=1"); $slave1_dbh->do("update sakila.city set city='test' where city_id=1");
$exit_status = pt_table_checksum::main(@args, $exit_status = pt_table_checksum::main(@args,
qw(--quiet --quiet -t sakila.city)); qw(--quiet -t sakila.city --chunk-size 1));
is( is(
$exit_status, $exit_status,
16, # = TABLE_DIFF but nothing else; https://bugs.launchpad.net/percona-toolkit/+bug/944051 16, # = TABLE_DIFF but nothing else; https://bugs.launchpad.net/percona-toolkit/+bug/944051
"--replicate-check on by default, detects diff" "--replicate-check on by default, detects diff"
); ) or diag("exit status: $exit_status");
$exit_status = pt_table_checksum::main(@args, $exit_status = pt_table_checksum::main(@args,
qw(--quiet --quiet -t sakila.city --no-replicate-check)); qw(--quiet --quiet -t sakila.city --no-replicate-check));

View File

@@ -1,33 +1,31 @@
if all tables be ... if all tables checksummed
checksum ... checksum ...
ERRORS DIFFS ROWS SKIPPED TABLE ERRORS DIFFS ROWS SKIPPED TABLE
0 0 0 0 mysql.columns_priv 0 0 0 0 mysql.columns_priv
0 0 0 0 mysql.component 0 0 0 0 mysql.component
0 0 2 0 mysql.db 0 0 2 0 mysql.db
0 0 0 0 mysql.default_roles 0 0 0 0 mysql.default_roles
0 1 2 0 mysql.engine_cost 0 0 2 0 mysql.engine_cost
0 0 0 0 mysql.func 0 0 0 0 mysql.func
0 0 26 0 mysql.global_grants 0 0 26 0 mysql.global_grants
0 0 40 0 mysql.help_category 0 0 40 0 mysql.help_category
0 0 696 0 mysql.help_keyword 0 0 695 0 mysql.help_keyword
0 0 1471 0 mysql.help_relation 0 0 1457 0 mysql.help_relation
0 0 644 0 mysql.help_topic 0 0 644 0 mysql.help_topic
0 0 0 0 mysql.innodb_ddl_log
0 0 0 0 mysql.innodb_dynamic_metadata
0 0 0 0 mysql.password_history 0 0 0 0 mysql.password_history
0 0 0 0 mysql.plugin 0 0 0 0 mysql.plugin
0 0 0 0 mysql.procs_priv 0 0 0 0 mysql.procs_priv
0 0 1 0 mysql.proxies_priv 0 0 1 0 mysql.proxies_priv
0 0 0 0 mysql.role_edges 0 0 0 0 mysql.role_edges
0 1 6 0 mysql.server_cost 0 0 6 0 mysql.server_cost
0 0 0 0 mysql.servers 0 0 0 0 mysql.servers
0 1 2 0 mysql.tables_priv 0 0 2 0 mysql.tables_priv
0 0 0 0 mysql.time_zone 0 0 0 0 mysql.time_zone
0 0 0 0 mysql.time_zone_leap_second 0 0 0 0 mysql.time_zone_leap_second
0 0 0 0 mysql.time_zone_name 0 0 0 0 mysql.time_zone_name
0 0 0 0 mysql.time_zone_transition 0 0 0 0 mysql.time_zone_transition
0 0 0 0 mysql.time_zone_transition_type 0 0 0 0 mysql.time_zone_transition_type
0 1 5 0 mysql.user 0 0 5 0 mysql.user
0 0 27 0 percona_test.checksums 0 0 27 0 percona_test.checksums
0 0 1 0 percona_test.load_data 0 0 1 0 percona_test.load_data
0 0 1 0 percona_test.sentinel 0 0 1 0 percona_test.sentinel

View File

@@ -1,33 +1,6 @@
if all tables can be ... if all tables be checksummed
checksum ... checksum ...
ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
0 0 0 1 0 mysql.columns_priv
0 0 0 1 0 mysql.component
0 0 2 1 0 mysql.db
0 0 0 1 0 mysql.default_roles
0 1 2 1 0 mysql.engine_cost
0 0 0 1 0 mysql.func
0 0 26 1 0 mysql.global_grants
0 0 40 1 0 mysql.help_category
0 0 696 1 0 mysql.help_keyword
0 0 1471 1 0 mysql.help_relation
0 0 644 1 0 mysql.help_topic
0 0 0 1 0 mysql.innodb_ddl_log
0 0 0 1 0 mysql.innodb_dynamic_metadata
0 0 0 1 0 mysql.password_history
0 0 0 1 0 mysql.plugin
0 0 0 1 0 mysql.procs_priv
0 0 1 1 0 mysql.proxies_priv
0 0 0 1 0 mysql.role_edges
0 1 6 1 0 mysql.server_cost
0 0 0 1 0 mysql.servers
0 1 2 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 1 5 1 0 mysql.user
0 0 27 1 0 percona_test.checksums 0 0 27 1 0 percona_test.checksums
0 0 1 1 0 percona_test.load_data 0 0 1 1 0 percona_test.load_data
0 0 1 1 0 percona_test.sentinel 0 0 1 1 0 percona_test.sentinel