Skip to content
  • Ritheesh Vedire's avatar
    7520ea7c
    WL#1697: Multisource Replication - Testframework · 7520ea7c
    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
    7520ea7c
    WL#1697: Multisource Replication - Testframework
    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
Loading