-
Joao Gramacho authored
Problem ------- The slave server is losing events not yet applied when MASTER_AUTO_POSITION=0, both replication threads are stopped and the applier delay is changed using CHANGE MASTER TO MASTER_DELAY. Analysis -------- WL#6120 introduced the possibility of issuing CHANGE MASTER TO commands without having both replications threads started. Issuing CHANGE MASTER TO RELAY_LOG_FILE/RELAY_LOG_POS/MASTER_DELAY is possible with only the SQL thread stopped. When both thread are stopped and a CHANGE MASTER TO MASTER_DELAY is being issued, the slave is purging the relay log. In this case, as it is possible that the SQL thread was not in sync with the I/O thread, the SQL thread positions should be copied to the I/O thread. The I/O thread will then start replicating from where the SQL thread stopped, but this (the copy of the positions) is not happening. Fix --- Fixed the behavior of the MASTER_DELAY option.
Joao Gramacho authoredProblem ------- The slave server is losing events not yet applied when MASTER_AUTO_POSITION=0, both replication threads are stopped and the applier delay is changed using CHANGE MASTER TO MASTER_DELAY. Analysis -------- WL#6120 introduced the possibility of issuing CHANGE MASTER TO commands without having both replications threads started. Issuing CHANGE MASTER TO RELAY_LOG_FILE/RELAY_LOG_POS/MASTER_DELAY is possible with only the SQL thread stopped. When both thread are stopped and a CHANGE MASTER TO MASTER_DELAY is being issued, the slave is purging the relay log. In this case, as it is possible that the SQL thread was not in sync with the I/O thread, the SQL thread positions should be copied to the I/O thread. The I/O thread will then start replicating from where the SQL thread stopped, but this (the copy of the positions) is not happening. Fix --- Fixed the behavior of the MASTER_DELAY option.
Loading