• Brandon Nesterenko's avatar
    MDEV-19801: Change defaults for CHANGE MASTER TO so that GTID-based... · 5ab5ff08
    Brandon Nesterenko authored
    MDEV-19801: Change defaults for CHANGE MASTER TO so that GTID-based replication is used by default if master supports it
    
    This commit makes replicas crash-safe by default by changing the
    Using_Gtid value to be Slave_Pos on a fresh slave start and after
    RESET SLAVE is issued. If the primary server does not support GTIDs
    (i.e., version < 10), the replica will fall back to Using_Gtid=No on
    slave start and after RESET SLAVE.
    
    The following additional informational messages/warnings are added:
    
     1. When Using_Gtid is automatically changed. That is, if RESET
    SLAVE reverts Using_Gtid back to Slave_Pos, or Using_Gtid is
    inferred to No from a CHANGE MASTER TO given with log coordinates
    without MASTER_USE_GTID.
     2. If options are ignored in CHANGE MASTER TO. If CHANGE MASTER TO
    is given with log coordinates, yet also specifies
    MASTER_USE_GTID=Slave_Pos, a warning message is given that the log
    coordinate options are ignored.
    
    Additionally, an MTR macro has been added for RESET SLAVE,
    reset_slave.inc, which provides modes/options for resetting a slave
    in log coordinate or gtid modes. When in log coordinates mode, the
    macro will execute CHANGE MASTER TO MASTER_USE_GTID=No after the
    RESET SLAVE command. When in GTID mode, an extra parameter,
    reset_slave_keep_gtid_state, can be set to reset or preserve the
    value of gtid_slave_pos.
    
    Reviewed By:
    ===========
    Andrei Elkin <andrei.elkin@mariadb.com>
    5ab5ff08
rpl_cross_version.result 685 Bytes