• Kristian Nielsen's avatar
    MDEV-6462: Slave replicating using GTID doesn't recover correctly when master... · 36f50be9
    Kristian Nielsen authored
    MDEV-6462: Slave replicating using GTID doesn't recover correctly when master crashes in the middle of transaction
    
    If the slave gets a reconnect in the middle of a GTID event group, normally
    it will re-fetch that event group, skipping the first part that was already
    queued for the SQL thread.
    
    However, if the master crashed while writing the event group, the group is
    incomplete. This patch detects this case and makes sure that the
    transaction is rolled back and nothing is skipped from any following
    event groups.
    
    Similarly, a network proxy might cause the reconnect to end up on a
    different master server. Detect this by noticing a different server_id,
    and similarly in this case roll back the partially received group.
    
    36f50be9
rpl_mi.cc 42.7 KB