• Andrei's avatar
    MDEV-28609 refine gtid-strict-mode to ignore same server-id gtid from the past · 8d238d47
    Andrei authored
    ... on semisync slave
    
    To provide semisync master crash-recovery the same server-id transactions
    were made to accept for execution on the semisync slave when the strict gtid
    mode (see MDEV-27760).
    That however caused out-of-order error on a master's transaction
    server of the circular setup.
    The error was fair in the sense of the gtid strict mode rule as indeed
    under the condition of the circular setup the replicated transaction
    already exists in the local binlog.
    
    This is fixed by the commit to ignore on the gtid strict mode semisync
    slave those gtids that exist in the slave's binlog that effectively restores
    the default same-server-id ignore policy.
    At the same time the fixes complies with MDEV-21117 semisync slave recovery
    to accept the same server-id transactions that do not exist in local binlog.
    8d238d47
sys_vars.cc 268 KB