First working enhanced --set-vars in pt-osc: no "default: ...", instead default values are under MAGIC_set_vars, picked up by OptionParser and passed to DSNParser. Also increaes --retries from 3 to 10. TODO: more testing.

This commit is contained in:
Daniel Nichter
2013-02-27 18:47:00 -07:00
parent 934709abad
commit c6958b497d
13 changed files with 217 additions and 116 deletions

View File

@@ -176,7 +176,7 @@ start_query_table(qw(pt_osc t id));
($output, $exit) = full_output(
sub { pt_online_schema_change::main(
"$master_dsn,D=pt_osc,t=t",
qw(--lock-wait-timeout 5),
qw(--set-vars innodb_lock_wait_timeout=5),
qw(--print --execute --chunk-size 100 --alter ENGINE=InnoDB)) },
stderr => 1,
);
@@ -226,7 +226,7 @@ start_query_table(qw(pt_osc t id));
($output, $exit) = full_output(
sub { pt_online_schema_change::main(
"$master_dsn,D=pt_osc,t=t",
qw(--lock-wait-timeout 5),
qw(--set-vars innodb_lock_wait_timeout=5),
qw(--print --execute --chunk-size 100 --no-check-alter),
'--alter', 'CHANGE COLUMN d q date',
) },

View File

@@ -31,7 +31,7 @@ if ( !$dbh ) {
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
# so we need to specify --lock-wait-timeout=3 else the tool will die.
my $master_dsn = 'h=127.1,P=12348,u=msandbox,p=msandbox';
my @args = (qw(--lock-wait-timeout 3));
my @args = (qw(--set-vars innodb_lock_wait_timeout=3));
my $output;
my $exit_status;
my $sample = "t/pt-online-schema-change/samples/";

View File

@@ -36,7 +36,7 @@ elsif ( !$slave_dbh ) {
my $q = new Quoter();
my $tp = new TableParser(Quoter => $q);
my @args = qw(--lock-wait-timeout 3);
my @args = qw(--set-vars innodb_lock_wait_timeout=3);
my $output = "";
my $dsn = "h=127.1,P=12345,u=msandbox,p=msandbox";
my $exit = 0;

View File

@@ -32,7 +32,7 @@ elsif ( !$slave_dbh ) {
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
# so we need to specify --lock-wait-timeout=3 else the tool will die.
my $master_dsn = 'h=127.1,P=12345,u=msandbox,p=msandbox';
my @args = (qw(--lock-wait-timeout 3));
my @args = (qw(--set-vars innodb_lock_wait_timeout=3));
my $output;
my $exit_status;
my $sample = "t/pt-online-schema-change/samples/";

View File

@@ -32,7 +32,7 @@ elsif ( !$slave_dbh ) {
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
# so we need to specify --lock-wait-timeout=3 else the tool will die.
my $master_dsn = 'h=127.1,P=12345,u=msandbox,p=msandbox';
my @args = (qw(--lock-wait-timeout 3));
my @args = (qw(--set-vars innodb_lock_wait_timeout=3));
my $output;
my $exit_status;
my $sample = "t/pt-online-schema-change/samples/";

View File

@@ -42,7 +42,7 @@ elsif ( !@{$master_dbh->selectall_arrayref("show databases like 'sakila'")} ) {
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
# so we need to specify --lock-wait-timeout=3 else the tool will die.
my $master_dsn = 'h=127.1,P=12345,p=msandbox';
my @args = (qw(--lock-wait-timeout 3));
my @args = (qw(--set-vars innodb_lock_wait_timeout=3));
my $row;
my $output;
my $exit_status;

View File

@@ -62,7 +62,7 @@ $sb->load_file('node1', "$sample/basic_no_fks.sql");
($output, $exit) = full_output(
sub { pt_online_schema_change::main(
"$node1_dsn,D=pt_osc,t=t",
qw(--lock-wait-timeout 5),
qw(--set-vars innodb_lock_wait_timeout=5),
qw(--print --execute --alter ENGINE=InnoDB)) },
stderr => 1,
);
@@ -87,7 +87,7 @@ $sb->load_file('node1', "$sample/basic_no_fks_innodb.sql");
($output, $exit) = full_output(
sub { pt_online_schema_change::main(
"$node1_dsn,D=pt_osc,t=t",
qw(--lock-wait-timeout 5),
qw(--set-vars innodb_lock_wait_timeout=5),
qw(--print --execute --alter ENGINE=MyISAM)) },
stderr => 1,
);
@@ -112,7 +112,7 @@ $node1->do("SET GLOBAL wsrep_OSU_method='RSU'");
($output, $exit) = full_output(
sub { pt_online_schema_change::main(
"$node1_dsn,D=pt_osc,t=t",
qw(--lock-wait-timeout 5),
qw(--set-vars innodb_lock_wait_timeout=5),
qw(--print --execute --alter ENGINE=MyISAM)) },
stderr => 1,
);

View File

@@ -32,7 +32,7 @@ elsif ( !$slave_dbh ) {
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
# so we need to specify --lock-wait-timeout=3 else the tool will die.
my $master_dsn = 'h=127.1,P=12345,u=msandbox,p=msandbox';
my @args = (qw(--lock-wait-timeout 3));
my @args = (qw(--set-vars innodb_lock_wait_timeout=3));
my $output;
my $exit_status;
my $sample = "t/pt-online-schema-change/samples/";

View File

@@ -31,7 +31,7 @@ if ( !$master_dbh ) {
my $q = new Quoter();
my $tp = new TableParser(Quoter => $q);
my @args = qw(--lock-wait-timeout 3);
my @args = qw(--set-vars innodb_lock_wait_timeout=3);
my $output = "";
my $dsn = "h=127.1,P=12345,u=msandbox,p=msandbox";
my $exit = 0;

View File

@@ -31,7 +31,7 @@ if ( !$master_dbh ) {
}
my $master_dsn = 'h=127.1,P=12348,u=msandbox,p=msandbox';
my @args = (qw(--lock-wait-timeout 3), '--max-load', '');
my @args = (qw(--set-vars innodb_lock_wait_timeout=3), '--max-load', '');
my ($output, $retval) = full_output(
sub { pt_online_schema_change::main(@args,