Hi,
I am using semi-sync replication with the `rpl_semi_sync_master_timeout` set to a very high value to ensure commits aren't committed on the master unless they have been replicated to the slave.
However whenever the binlog filename changes the replication stalls indefinitely.
A trace of this interaction between the master and the semi-sync slave is here:
https://gist.github.com/josephglanville/e87ae96b9be9125427b58cd3a43d5c1e
The semi-sync settings I have configured on the master are:
rpl_semi_sync_master_wait_point = "AFTER_SYNC"
rpl_semi_sync_master_timeout = 18446744073709551615 # effectively infinite as we don't want to fallback to async repl
rpl_semi_sync_master_enabled = 1
rpl_semi_sync_master_wait_no_slave = 1 # don't allow writes if slave isn't connected
Up until the binlog filename change everything works as expected.
Anyone have any ideas on how to fix the problem or is this a bug in semi-sync replication?
Joseph.