• Andrei's avatar
    MDEV-27760 event may non stop replicate in circular semisync setup · 5ccd845d
    Andrei authored
    MDEV-21117 had to relax own events acceptance condition for a case
    when a former semisync master server recovers after crash as the
    semisync slave. That however admitted a possibility for endless event
    "orbiting" in the non-strict slave gtid mode of semisync circular
    setup.
    
    The same server-id event termination is restored now for
    the non-strict gtid mode to follow regular rules (that is it's ignored
    unless @@global.replicate_same_server_id allows it in).
    
    To address MDEV-21117 recovery agenda,
    in the strict gtid mode and the transaction's gtid ordered strictly
    greater than the current slave gtid state, the same server-id
    transaction is accepted.
    
    The gtid strict mode is safe to accept transactions even if
    the slave state were not set correct by the user, e.g
    at the former master.
    An added test shows a typical out-of-order error at execution so
    no data corruption is guaranteed in such a case.
    5ccd845d
rpl_circular_semi_sync.result 2.86 KB