-
Andrei Elkin authored
Bug#13840948 - CHANGE MASTER MODIFIES RELAY_LOG_PURGE OPTION VALUE. The patch coveres a bunch of issues. 0. The reported problem itself turned out to be unnecessary recalculation of rli->group_master_log_* coordinates. In case of relay-log purging for Change-Master is not done the coordinates may be safely reused. Otherwise, as it had been before this patch, the new values may not correspond to the actual execution state because the executed were set optimistically to the lastest that IO thread had been read. Fixed with avoiding recalculation to reuse existing rli->group_master_log_* coordinates for the mentioned no-purging branches of Change-Master. 1. In presence of MTS recovery gaps CHANGE MASTER now errors out with a new error code. 2. Similar intolerance to MTS gaps is implemented for --relay-log-recovery handling as the option is logically equivalent to RESET SLAVE plus CHANGE MASTER. 3. Bug#13840948: In some of its branches change_master() overrides an existing startup time option value. Fixed with reverting temporarily modified --relay-log-purge's value. 4. @@global.relay_log_recovery was not read-only though it should have been. Fixed to be converted into read-only. 5. fixing signature of few mts functions to pass a mutex is locked indication.
Andrei Elkin authoredBug#13840948 - CHANGE MASTER MODIFIES RELAY_LOG_PURGE OPTION VALUE. The patch coveres a bunch of issues. 0. The reported problem itself turned out to be unnecessary recalculation of rli->group_master_log_* coordinates. In case of relay-log purging for Change-Master is not done the coordinates may be safely reused. Otherwise, as it had been before this patch, the new values may not correspond to the actual execution state because the executed were set optimistically to the lastest that IO thread had been read. Fixed with avoiding recalculation to reuse existing rli->group_master_log_* coordinates for the mentioned no-purging branches of Change-Master. 1. In presence of MTS recovery gaps CHANGE MASTER now errors out with a new error code. 2. Similar intolerance to MTS gaps is implemented for --relay-log-recovery handling as the option is logically equivalent to RESET SLAVE plus CHANGE MASTER. 3. Bug#13840948: In some of its branches change_master() overrides an existing startup time option value. Fixed with reverting temporarily modified --relay-log-purge's value. 4. @@global.relay_log_recovery was not read-only though it should have been. Fixed to be converted into read-only. 5. fixing signature of few mts functions to pass a mutex is locked indication.
Loading