Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.0
-
None
-
None
Description
CHANGE MASTER sets @@global.relay_log_purge true or false as needed depending
on whether RELAY_LOG_FILE and/or RELAY_LOG_POS is used in the command.
However, with multi-source, this is changed globally, not per-master. This
means that one CHANGE MASTER command can overwrite the value for
another. Thus, we may purge relay logs needed by a different master
connection, or leave dangling relay logs for one that does not need them.
It seems that @@global.relay_log_purge needs to become a per-master-connection
value.
The following test case demonstrates this; mtr will warn that the global
relay_log_purge value changed even though we manipulated only the 'abc' master connection.
--source include/not_embedded.inc
|
--source include/have_innodb.inc
|
--error ER_RELAY_LOG_INIT
|
change master 'abc' to relay_log_file='';
|