summaryrefslogtreecommitdiff
path: root/sql-common/client.c
diff options
context:
space:
mode:
authorSujatha <sujatha.sivakumar@mariadb.com>2021-08-09 16:26:21 +0530
committerSujatha <sujatha.sivakumar@mariadb.com>2021-08-17 10:38:48 +0530
commit7bacea7631936b5e926b9b913f23ef0c1d914abc (patch)
tree75a97a506ccf7507fcbd2b19b4de4daae186bfe0 /sql-common/client.c
parent89445b64fef2c3c9f2cfb9f572dd19b88f3a48df (diff)
downloadmariadb-git-bb-10.2-sujatha.tar.gz
MDEV-23372: rpl.rpl_skip_replication still fails in buildbot with an extrabb-10.2-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-common/client.c')
-rw-r--r--sql-common/client.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index ff36b757957..6c50cabe8fa 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -721,7 +721,9 @@ cli_advanced_command(MYSQL *mysql, enum enum_server_command command,
set_mysql_error(mysql, CR_NET_PACKET_TOO_LARGE, unknown_sqlstate);
goto end;
}
- if (net->last_errno == ER_NET_ERROR_ON_WRITE && command == COM_BINLOG_DUMP)
+ if ((net->last_errno == ER_NET_ERROR_ON_WRITE ||
+ net->last_errno == ER_NET_READ_ERROR )
+ && command == COM_BINLOG_DUMP)
goto end;
end_server(mysql);
if (mysql_reconnect(mysql) || stmt_skip)