mirror of
https://github.com/percona/percona-toolkit.git
synced 2026-05-15 01:04:06 +08:00
PT-2250 - pt-table-checksum reports error if recursion method is DSN
- We are now setting parent to current source server in get_cxn_from_dsn_table
This commit is contained in:
+11
-3
@@ -108,11 +108,19 @@ sub get_replicas {
|
||||
}
|
||||
);
|
||||
} elsif ( $methods->[0] =~ m/^dsn=/i ) {
|
||||
my @required_args = qw(dsn);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn) = @args{@required_args};
|
||||
(my $dsn_table_dsn = join ",", @$methods) =~ s/^dsn=//i;
|
||||
$replicas = $self->get_cxn_from_dsn_table(
|
||||
%args,
|
||||
dsn_table_dsn => $dsn_table_dsn,
|
||||
wait_no_die => $args{'wait_no_die'},
|
||||
# We will set current source server as a parent
|
||||
# until https://perconadev.atlassian.net/browse/PT-2496 is implemented
|
||||
parent => $dsn,
|
||||
);
|
||||
}
|
||||
elsif ( $methods->[0] =~ m/none/i ) {
|
||||
@@ -1061,11 +1069,11 @@ sub reset_known_replication_threads {
|
||||
|
||||
sub get_cxn_from_dsn_table {
|
||||
my ($self, %args) = @_;
|
||||
my @required_args = qw(dsn_table_dsn make_cxn);
|
||||
my @required_args = qw(dsn_table_dsn make_cxn parent);
|
||||
foreach my $arg ( @required_args ) {
|
||||
die "I need a $arg argument" unless $args{$arg};
|
||||
}
|
||||
my ($dsn_table_dsn, $make_cxn) = @args{@required_args};
|
||||
my ($dsn_table_dsn, $make_cxn, $parent) = @args{@required_args};
|
||||
PTDEBUG && _d('DSN table DSN:', $dsn_table_dsn);
|
||||
|
||||
my $dp = $self->{DSNParser};
|
||||
@@ -1111,7 +1119,7 @@ sub get_cxn_from_dsn_table {
|
||||
}
|
||||
push @cxn, $lcxn;
|
||||
} else {
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string);
|
||||
push @cxn, $make_cxn->(dsn_string => $dsn_string, parent => $parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user