• Andrei's avatar
    MDEV-30423 Deadlock on Replica during BACKUP STAGE BLOCK_COMMIT on XA transactions · dc646c23
    Andrei authored
    The user XA commit execution branch was caught not have been covered
    with MDEV-21953 fixes.
    
    The XA involved deadlock is resolved now to apply the former fixes
    pattern.
    Along the fixes the following changes have been implemented.
    - MDL lock attribute correction
    - dissociation of the externally completed XA from the current
      thread's xid_state in the error branches
    - cleanup_context() preseves the prepared XA
    - wait_for_prior_commit() is relocated to satisfy both
      the binlog ON (log-slave-updates and skip-log-bin)
      and OFF slave execution branches.
    dc646c23
xa.cc 30.4 KB