mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-7975: sporadic failure in test case rpl.rpl_gtid_startpos
Add some suppressions that were missing. They are for if a STOP SLAVE is executed early during IO thread startup, when it is negotiating with the master. The master connection may be killed in the middle of a mysql_real_query(), which is not a test failure if it is a network error. This also caught one real code error, fixed with this commit: The I/O thread would fail to automatically reconnect if a network error happened while fetching the value of @@GLOBAL.gtid_domain_id.
This commit is contained in:
@@ -227,6 +227,12 @@ INSERT INTO global_suppressions VALUES
|
|||||||
("Slave I/O: Notifying master by SET @master_binlog_checksum= @@global.binlog_checksum failed with error.*"),
|
("Slave I/O: Notifying master by SET @master_binlog_checksum= @@global.binlog_checksum failed with error.*"),
|
||||||
("Slave I/O: Setting master-side filtering of @@skip_replication failed with error:.*"),
|
("Slave I/O: Setting master-side filtering of @@skip_replication failed with error:.*"),
|
||||||
("Slave I/O: Setting @mariadb_slave_capability failed with error:.*"),
|
("Slave I/O: Setting @mariadb_slave_capability failed with error:.*"),
|
||||||
|
("Slave I/O: Get master @@GLOBAL.gtid_domain_id failed with error.*"),
|
||||||
|
("Slave I/O: Setting @slave_connect_state failed with error.*"),
|
||||||
|
("Slave I/O: Setting @slave_gtid_strict_mode failed with error.*"),
|
||||||
|
("Slave I/O: Setting @slave_gtid_ignore_duplicates failed with error.*"),
|
||||||
|
("Slave I/O: Setting @slave_until_gtid failed with error.*"),
|
||||||
|
("Slave I/O: Get master GTID position failed with error.*"),
|
||||||
("THE_LAST_SUPPRESSION")||
|
("THE_LAST_SUPPRESSION")||
|
||||||
|
|
||||||
|
|
||||||
|
@@ -4839,6 +4839,12 @@ sub extract_warning_lines ($$) {
|
|||||||
qr/Slave I\/O: Get master clock failed with error:.*/,
|
qr/Slave I\/O: Get master clock failed with error:.*/,
|
||||||
qr/Slave I\/O: Get master COLLATION_SERVER failed with error:.*/,
|
qr/Slave I\/O: Get master COLLATION_SERVER failed with error:.*/,
|
||||||
qr/Slave I\/O: Get master TIME_ZONE failed with error:.*/,
|
qr/Slave I\/O: Get master TIME_ZONE failed with error:.*/,
|
||||||
|
qr/Slave I\/O: Get master \@\@GLOBAL.gtid_domain_id failed with error:.*/,
|
||||||
|
qr/Slave I\/O: Setting \@slave_connect_state failed with error:.*/,
|
||||||
|
qr/Slave I\/O: Setting \@slave_gtid_strict_mode failed with error:.*/,
|
||||||
|
qr/Slave I\/O: Setting \@slave_gtid_ignore_duplicates failed with error:.*/,
|
||||||
|
qr/Slave I\/O: Setting \@slave_until_gtid failed with error:.*/,
|
||||||
|
qr/Slave I\/O: Get master GTID position failed with error:.*/,
|
||||||
qr/Slave I\/O: error reconnecting to master '.*' - retry-time: [1-3] retries/,
|
qr/Slave I\/O: error reconnecting to master '.*' - retry-time: [1-3] retries/,
|
||||||
qr/Slave I\/0: Master command COM_BINLOG_DUMP failed/,
|
qr/Slave I\/0: Master command COM_BINLOG_DUMP failed/,
|
||||||
qr/Error reading packet/,
|
qr/Error reading packet/,
|
||||||
|
20
sql/slave.cc
20
sql/slave.cc
@@ -2004,11 +2004,21 @@ after_set_capability:
|
|||||||
!(master_row= mysql_fetch_row(master_res)))
|
!(master_row= mysql_fetch_row(master_res)))
|
||||||
{
|
{
|
||||||
err_code= mysql_errno(mysql);
|
err_code= mysql_errno(mysql);
|
||||||
errmsg= "The slave I/O thread stops because master does not support "
|
if (is_network_error(err_code))
|
||||||
"MariaDB global transaction id. A fatal error is encountered when "
|
{
|
||||||
"it tries to SELECT @@GLOBAL.gtid_domain_id.";
|
mi->report(ERROR_LEVEL, err_code, NULL,
|
||||||
sprintf(err_buff, "%s Error: %s", errmsg, mysql_error(mysql));
|
"Get master @@GLOBAL.gtid_domain_id failed with error: %s",
|
||||||
goto err;
|
mysql_error(mysql));
|
||||||
|
goto network_err;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
errmsg= "The slave I/O thread stops because master does not support "
|
||||||
|
"MariaDB global transaction id. A fatal error is encountered when "
|
||||||
|
"it tries to SELECT @@GLOBAL.gtid_domain_id.";
|
||||||
|
sprintf(err_buff, "%s Error: %s", errmsg, mysql_error(mysql));
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mysql_free_result(master_res);
|
mysql_free_result(master_res);
|
||||||
master_res= NULL;
|
master_res= NULL;
|
||||||
|
Reference in New Issue
Block a user