diff options
author | Sujatha <sujatha.sivakumar@mariadb.com> | 2021-08-09 16:26:21 +0530 |
---|---|---|
committer | Sujatha <sujatha.sivakumar@mariadb.com> | 2021-08-17 11:51:43 +0530 |
commit | e727b9151ca58df8169fac9f14ebc3e88427e0bf (patch) | |
tree | 091491a466b07cea950af2d1908b80ead18f5f02 /sql/slave.cc | |
parent | 255313048ca00c48fe78250014570034475a9178 (diff) | |
download | mariadb-git-bb-10.5-sujatha.tar.gz |
MDEV-23372: rpl.rpl_skip_replication still fails in buildbot with an extrabb-10.5-sujatha
warning
Problem:
========
[Warning] Aborted connection 18 to db: 'unconnected' user: 'root' host:
'localhost' (Got an error reading communication packets)
[Note] Start binlog_dump to slave_server(2), pos(, 4), using_gtid(0),
gtid('')
[Warning] Aborted connection 17 to db: 'unconnected' user: 'root' host:
'localhost' (A slave with the same server_uuid/server_id as this slave has
co)
[Warning] Master is configured to log replication events with checksum, but
will not send such events to slaves that cannot process theml
Analysis:
=========
Issue is similar MDEV-14203. MDEV-14203 fix addressed network write error
issue now the same needs to be implemented for network read error.
Fix:
===
Upon network read error donot attempt reconnect, proceed to master-slave
handshake. This ensures that master is aware of slave's capability to use
checksums.
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index 1da030084ef..40531105b6c 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -3576,8 +3576,16 @@ static int request_dump(THD *thd, MYSQL* mysql, Master_info* mi, now we just fill up the error log :-) */ if (mysql_errno(mysql) == ER_NET_READ_INTERRUPTED || - mysql_errno(mysql) == ER_NET_ERROR_ON_WRITE) - *suppress_warnings= TRUE; // Suppress reconnect warning + mysql_errno(mysql) == ER_NET_ERROR_ON_WRITE || + mysql_errno(mysql) == ER_NET_READ_ERROR) + { + *suppress_warnings= TRUE; // Suppress reconnect warning on slave + + if (global_system_variables.log_warnings > 2) + sql_print_error("Error on COM_BINLOG_DUMP: %d %s, will retry in %d secs", + mysql_errno(mysql), mysql_error(mysql), + mi->connect_retry); + } else sql_print_error("Error on COM_BINLOG_DUMP: %d %s, will retry in %d secs", mysql_errno(mysql), mysql_error(mysql), |