From dc646c23897802bb634a1c95afde6f854a49ebb1 Mon Sep 17 00:00:00 2001 From: Andrei Date: Thu, 19 Jan 2023 19:42:24 +0200 Subject: MDEV-30423 Deadlock on Replica during BACKUP STAGE BLOCK_COMMIT on XA transactions 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. --- mysql-test/suite/rpl/t/parallel_backup_lsu_off.test | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 mysql-test/suite/rpl/t/parallel_backup_lsu_off.test (limited to 'mysql-test/suite/rpl/t/parallel_backup_lsu_off.test') diff --git a/mysql-test/suite/rpl/t/parallel_backup_lsu_off.test b/mysql-test/suite/rpl/t/parallel_backup_lsu_off.test new file mode 100644 index 00000000000..8e2663077b2 --- /dev/null +++ b/mysql-test/suite/rpl/t/parallel_backup_lsu_off.test @@ -0,0 +1,7 @@ +# +--echo # Specialized --log-slave-updates = 0 version of parallel_backup test. +# +--echo # MDEV-21953: deadlock between BACKUP STAGE BLOCK_COMMIT and parallel +--echo # MDEV-30423: dealock XA COMMIT vs BACKUP +--let $rpl_skip_reset_master_and_slave = 1 +--source parallel_backup.test -- cgit v1.2.1