Safely check for undefined values in --skip-check-slave-lag

This commit is contained in:
Chris Swingler
2017-06-09 16:01:50 -05:00
parent 5ef56763a7
commit 6558c571d5

View File

@@ -9722,12 +9722,20 @@ sub main {
for my $slave (@$slave_lag_cxns) {
my $found=0;
for my $slave_to_skip (@$slaves_to_skip) {
if ($slave->{dsn}->{h} eq $slave_to_skip->{h} && $slave->{dsn}->{P} eq $slave_to_skip->{P}) {
my $h_eq_h = $slave->{dsn}->{h} eq $slave_to_skip->{h};
my $p_eq_p;
if (defined($slave->{dsn}->{P}) || defined($slave_to_skip->{P})) {
$p_eq_p = $slave->{dsn}->{P} eq $slave_to_skip->{P};
} else {
PTDEBUG && _d("Both port DSNs are undefined, setting p_eq_p to true");
$p_eq_p = 1;
}
if ($h_eq_h && $p_eq_p) {
$found=1;
}
}
if ($found) {
printf("Skipping slave %s -> %s:%s\n", $slave->name(), $slave->{dsn}->{h}, $slave->{dsn}->{P});
printf("Skipping slave %s\n", $slave->name());
} else {
push @$filtered_slaves, $slave;
}