Added pause to NibbleIterator

This commit is contained in:
Carlos Salguero
2016-11-01 19:05:49 -03:00
parent 340ecfdc00
commit c91350f2eb
4 changed files with 110 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ use RowChecksum;
use NibbleIterator;
use Cxn;
use PerconaTest;
use File::Temp qw/ tempfile /;
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
@@ -92,6 +93,8 @@ sub make_nibble_iter {
resume => $args{resume},
order_by => $args{order_by},
comments => $args{comments},
pause_file => $o->get('pause-file'),
sleep => $args{sleep} || 60,
%common_modules,
);
@@ -355,6 +358,29 @@ is(
"init callbacks can stop nibbling"
);
my ($fh, $filename) = tempfile();
system ("sleep 3 && rm $filename &");
$ni = make_nibble_iter(
db => 'sakila',
tbl => 'payment',
sleep => 3,
argv => [qw(--databases sakila --tables payment --chunk-size 100 --pause-file ), $filename],
);
$output = output(
sub {
for (1..8) { $ni->next() }
},
);
like(
$output,
qr/Sleeping 3 seconds because/,
"nibbles paused"
);
# ############################################################################
# Nibble a larger table by numeric pk id
# ############################################################################