Merge fix-skipped-chunks-bug-1011738.

This commit is contained in:
Daniel Nichter
2012-06-11 14:52:31 -04:00
2 changed files with 26 additions and 1 deletions

View File

@@ -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 ) {

View File

@@ -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.
# ############################################################################