Merge pull request #388 from cswingler/check_undefined_skip_check_slave_lag_schema_change

Check undefined skip check slave lag schema change

Contirbutor signed corporate SLA as stated in https://github.com/percona/percona-toolkit/pull/230#issuecomment-308564024
This commit is contained in:
Sveta Smirnova
2023-11-12 23:31:30 +03:00
committed by GitHub
5 changed files with 55 additions and 19 deletions

View File

@@ -8944,11 +8944,15 @@ sub main {
for my $slave (@$slaves) {
my $is_skip = 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}) {
print "Skipping slave " . $slave->description() . "\n";
$is_skip = 1;
$slave->{dbh}->disconnect();
last;
if ( $slave->{dsn}->{h} eq $slave_to_skip->{h} ) {
my $skip_slave_port = defined($slave_to_skip->{P})
? $slave_to_skip->{P} : '3306';
if ( ($slave->{dsn}->{P} eq $skip_slave_port) ) {
print "Skipping slave " . $slave->description() . "\n";
$is_skip = 1;
$slave->{dbh}->disconnect();
last;
}
}
}
if (!$is_skip) {

View File

@@ -10653,11 +10653,13 @@ sub main {
for my $slave_to_skip (@$slaves_to_skip) {
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 {
if (!defined($slave->{dsn}->{P}) && !defined($slave_to_skip->{P}) ) {
PTDEBUG && _d("Both port DSNs are undefined, setting p_eq_p to true");
$p_eq_p = 1;
} else {
my $skip_slave_port = defined($slave_to_skip->{P})
? $slave_to_skip->{P} : '3306';
$p_eq_p = $slave->{dsn}->{P} eq $skip_slave_port;
}
if ($h_eq_h && $p_eq_p) {
$found=1;