Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3.13
-
None
Description
In Semi-Sync replication environment, when master server got timeout waiting for the reply of binlog
2019-07-29 15:19:30 975211 [Warning] Timeout waiting for reply of binlog (file: bin_log.000346, pos: 247856273), semi-sync up to file bin_log.000346, position 247854688.
|
2019-07-29 15:19:30 975211 [Note] Semi-sync replication switched OFF.
|
2019-07-29 15:20:32 974875 [Note] Stop semi-sync binlog_dump to slave (server_id: 2)
|
2019-07-29 15:20:33 974874 [Note] Stop semi-sync binlog_dump to slave (server_id: 3)
|
Slave server getting stopped with below error.
2019-07-29 15:20:46 11 [ERROR] Semi-sync slave net_flush() reply failed
|
2019-07-29 15:20:46 11 [ERROR] Slave I/O: Fatal error: Failed to run 'after_queue_event' hook, Internal MariaDB error code: 1593
|
2019-07-29 15:20:46 11 [Note] Slave I/O thread exiting, read up to log 'bin_log.000346', position 247948930; GTID position 1-1-146008965
|
This looks like upstream bug https://bugs.mysql.com/bug.php?id=45852
upstream bug is resolved by MySQL with below note.
semisynch: Last_IO_Error: Fatal error: Failed to run 'after_queue_event' hook
|
|
Errors when send reply to master should never cause the IO thread
|
to stop, because master can fall back to async replication if it
|
does not get reply from slave.
|
|
The problem is fixed by deliberately ignoring the return value of
|
slaveReply.
|
@ plugin/semisync/semisync_slave_plugin.cc
|
Deliberately ignore the return value of slaveReply so that errors
|
while sending slave reply will not cause the IO thread to stop.
|
Attachments
Issue Links
- relates to
-
MDEV-29842 ERROR Semi-sync slave net_flush() reply failed
- Closed