mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 13:11:32 +00:00
Kill cxn only if using a db in Sandbox::wipe_clean(). Fix pt-duplicate-key-checker/basics.t for 5.0. Make pt-table-sync/lock_and_rename.t more stable.
This commit is contained in:
@@ -34,8 +34,8 @@ use English qw(-no_match_vars);
|
||||
use Time::HiRes qw(sleep);
|
||||
use Data::Dumper;
|
||||
$Data::Dumper::Indent = 1;
|
||||
$Data::Dumper::Quotekeys = 0;
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
$Data::Dumper::Quotekeys = 0;
|
||||
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
||||
|
||||
my $trunk = $ENV{PERCONA_TOOLKIT_BRANCH};
|
||||
@@ -164,11 +164,17 @@ sub wipe_clean {
|
||||
# the DROP commands will just hang forever.
|
||||
my @cxns = @{$dbh->selectall_arrayref('SHOW FULL PROCESSLIST', {Slice => {}})};
|
||||
foreach my $cxn ( @cxns ) {
|
||||
if (
|
||||
if ((
|
||||
(($cxn->{user}||'') eq 'msandbox' && ($cxn->{command}||'') eq 'Sleep')
|
||||
|| (($cxn->{User}||'') eq 'msandbox' && ($cxn->{Command}||'') eq 'Sleep')
|
||||
) && $cxn->{db}
|
||||
) {
|
||||
eval { $dbh->do("KILL $cxn->{id}"); };
|
||||
my $id = $cxn->{id} ? $cxn->{id} : $cxn->{Id};
|
||||
my $sql = "KILL $id /* db: $cxn->{db} */";
|
||||
Test::More::diag($sql);
|
||||
eval { $dbh->do($sql); };
|
||||
Test::More::diag("Error executing $sql in Sandbox::wipe_clean(): "
|
||||
. $EVAL_ERROR) if $EVAL_ERROR;
|
||||
}
|
||||
}
|
||||
foreach my $db ( @{$dbh->selectcol_arrayref('SHOW DATABASES')} ) {
|
||||
|
@@ -102,6 +102,7 @@ ok(
|
||||
no_diff(
|
||||
sub { pt_duplicate_key_checker::main(@args, qw(-d test)) },
|
||||
"$sample/bug-894140.txt",
|
||||
sed => [ "-e 's/ */ /g'" ],
|
||||
),
|
||||
"Bug 894140"
|
||||
);
|
||||
|
@@ -33,20 +33,20 @@ else {
|
||||
}
|
||||
|
||||
$sb->wipe_clean($master_dbh);
|
||||
$sb->wipe_clean($slave_dbh);
|
||||
$sb->create_dbs($master_dbh, [qw(test)]);
|
||||
|
||||
# #############################################################################
|
||||
# Issue 363: lock and rename.
|
||||
# #############################################################################
|
||||
$sb->load_file('master', 't/pt-table-sync/samples/before.sql');
|
||||
PerconaTest::wait_for_table($slave_dbh, "test.test2");
|
||||
|
||||
$output = `$trunk/bin/pt-table-sync --lock-and-rename h=127.1,P=12345 P=12346 2>&1`;
|
||||
like($output, qr/requires exactly two/,
|
||||
'--lock-and-rename error when DSNs do not specify table');
|
||||
|
||||
# It's hard to tell exactly which table is which, and the tables are going to be
|
||||
# "swapped", so we'll put a marker in each table to test the swapping.
|
||||
# It's hard to tell exactly which table is which, and the tables are going
|
||||
# to be "swapped", so we'll put a marker in each table to test the swapping.
|
||||
`/tmp/12345/use -e "alter table test.test1 comment='test1'"`;
|
||||
|
||||
$output = `$trunk/bin/pt-table-sync --execute --lock-and-rename h=127.1,P=12345,u=msandbox,p=msandbox,D=test,t=test1 t=test2 2>&1`;
|
||||
@@ -59,6 +59,5 @@ like($output, qr/COMMENT='test1'/, '--lock-and-rename worked');
|
||||
# Done.
|
||||
# #############################################################################
|
||||
$sb->wipe_clean($master_dbh);
|
||||
$sb->wipe_clean($slave_dbh);
|
||||
ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
|
||||
exit;
|
||||
|
Reference in New Issue
Block a user