summaryrefslogtreecommitdiff
path: root/sql/net_serv.cc
diff options
context:
space:
mode:
authorSujatha <sujatha.sivakumar@mariadb.com>2021-08-09 16:26:21 +0530
committerSujatha <sujatha.sivakumar@mariadb.com>2021-08-18 14:19:23 +0530
commitd6f19555cc9bcf6a01cbf71d2ee4c2fdae93c839 (patch)
tree4e5e19d36d943c0af9bd84a39e26765f7696262e /sql/net_serv.cc
parentc949772680447b510eb42a5053e1da407019381a (diff)
downloadmariadb-git-bb-10.7-sujatha.tar.gz
MDEV-23372: rpl.rpl_skip_replication still fails in buildbot with an extrabb-10.7-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/net_serv.cc')
-rw-r--r--sql/net_serv.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/sql/net_serv.cc b/sql/net_serv.cc
index 39b4290a161..f0d1b73491e 100644
--- a/sql/net_serv.cc
+++ b/sql/net_serv.cc
@@ -518,6 +518,17 @@ net_write_command(NET *net,uchar command,
DBUG_RETURN(true);
}
};);
+ DBUG_EXECUTE_IF("simulate_error_on_packet_read",
+ {
+ if (command == COM_BINLOG_DUMP)
+ {
+ net->last_errno = ER_NET_READ_ERROR;
+ DBUG_ASSERT(!debug_sync_set_action(
+ (THD *)net->thd,
+ STRING_WITH_LEN("now SIGNAL parked WAIT_FOR continue")));
+ DBUG_RETURN(true);
+ }
+ };);
MYSQL_NET_WRITE_START(length);
buff[4]=command; /* For first packet */