-
Ritheesh Vedire authored
Patch 1 ======= This patch performs a small refactoring of the mtr replication framework in order to enable multi-source replication in the framework. In this patch, we change the internal represenation of the topology: - Before this patch, we used $rpl_master_list to represent the topology. It had the format: <number>{N} where the i'th <number> is the master of server i, or space if server i does not have a master. <number> is padded with spaces to $rpl_server_count_length characters, to ease string manipulation. - After this patch, we use $rpl_connection_list to represent the topology. This variable has the format: (m<NUMBER>s<NUMBER>)* where each element represents a single master-slave connection; m<NUMBER> is the master and s<NUMBER> is the slave. <NUMBER> is right-padded with spaces to $rpl_server_count_length characters, to ease string manipulation. - change the following files: - rpl_change_topology.inc - generate rpl_connection_list correctly - use rpl_connection_list to iterate over slaves - rpl_for_each_slave.inc (rename to rpl_for_each_connection) - iterate over rpl_connection_list instead of rpl_master_list - rpl_generate_sync_chain.inc - change logic for computing the master of a given server so that it uses $rpl_connection_list instead of $rpl_master_list - rpl_init.inc - rpl_reset.inc - use rpl_for_each_connection / rpl_for_each_server instead of parsing rpl_master_list Patch done by sven.sandberg@oracle.com
Ritheesh Vedire authoredPatch 1 ======= This patch performs a small refactoring of the mtr replication framework in order to enable multi-source replication in the framework. In this patch, we change the internal represenation of the topology: - Before this patch, we used $rpl_master_list to represent the topology. It had the format: <number>{N} where the i'th <number> is the master of server i, or space if server i does not have a master. <number> is padded with spaces to $rpl_server_count_length characters, to ease string manipulation. - After this patch, we use $rpl_connection_list to represent the topology. This variable has the format: (m<NUMBER>s<NUMBER>)* where each element represents a single master-slave connection; m<NUMBER> is the master and s<NUMBER> is the slave. <NUMBER> is right-padded with spaces to $rpl_server_count_length characters, to ease string manipulation. - change the following files: - rpl_change_topology.inc - generate rpl_connection_list correctly - use rpl_connection_list to iterate over slaves - rpl_for_each_slave.inc (rename to rpl_for_each_connection) - iterate over rpl_connection_list instead of rpl_master_list - rpl_generate_sync_chain.inc - change logic for computing the master of a given server so that it uses $rpl_connection_list instead of $rpl_master_list - rpl_init.inc - rpl_reset.inc - use rpl_for_each_connection / rpl_for_each_server instead of parsing rpl_master_list Patch done by sven.sandberg@oracle.com
Loading