mirror of
https://github.com/percona/percona-toolkit.git
synced 2026-03-04 02:18:17 +08:00
Merge fix-skipped-chunks-bug-1011738.
This commit is contained in:
@@ -7009,6 +7009,11 @@ sub main {
|
||||
# Count every chunk, even if it's ultimately skipped, etc.
|
||||
$tbl->{checksum_results}->{n_chunks}++;
|
||||
|
||||
# Reset the nibble_time because this nibble hasn't been
|
||||
# executed yet. If nibble_time is undef, then it's marked
|
||||
# as skipped in after_nibble.
|
||||
$tbl->{nibble_time} = undef;
|
||||
|
||||
# --explain level 2: print chunk,lower boundary values,upper
|
||||
# boundary values.
|
||||
if ( $o->get('explain') > 1 ) {
|
||||
|
||||
@@ -42,7 +42,7 @@ elsif ( !@{$master_dbh->selectall_arrayref("show databases like 'sakila'")} ) {
|
||||
plan skip_all => 'sakila database is not loaded';
|
||||
}
|
||||
else {
|
||||
plan tests => 36;
|
||||
plan tests => 38;
|
||||
}
|
||||
|
||||
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
|
||||
@@ -255,6 +255,26 @@ is(
|
||||
"Oversize chunks are not errors"
|
||||
);
|
||||
|
||||
# SKIPPED should be accurate if the first skipped chunk # > 1.
|
||||
# https://bugs.launchpad.net/percona-toolkit/+bug/1011738
|
||||
$output = output(
|
||||
sub { pt_table_checksum::main(@args,
|
||||
qw(-t osc.t --chunk-size 6 --chunk-size-limit 1)) },
|
||||
stderr => 1,
|
||||
);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/Skipping chunk 2/i,
|
||||
"Skipped chunk 2"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'skipped'),
|
||||
1,
|
||||
"Skipped 1 chunk (bug 1011738)"
|
||||
) or diag($output);
|
||||
|
||||
# ############################################################################
|
||||
# Check slave table row est. if doing doing 1=1 on master table.
|
||||
# ############################################################################
|
||||
|
||||
Reference in New Issue
Block a user