summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/xa_sync.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/xa_sync.result')
-rw-r--r--mysql-test/main/xa_sync.result52
1 files changed, 52 insertions, 0 deletions
diff --git a/mysql-test/main/xa_sync.result b/mysql-test/main/xa_sync.result
new file mode 100644
index 00000000..e7dd9b02
--- /dev/null
+++ b/mysql-test/main/xa_sync.result
@@ -0,0 +1,52 @@
+#
+# MDEV-7793 - Race condition between XA COMMIT/ROLLBACK and disconnect
+#
+# Note that this test is meaningful only with valgrind.
+connect con1, localhost, root;
+connect con2, localhost, root;
+connection con1;
+XA START 'xatest';
+XA END 'xatest';
+XA PREPARE 'xatest';
+connection con2;
+SET debug_sync='xa_after_search SIGNAL parked WAIT_FOR go';
+XA COMMIT 'xatest';
+connection default;
+SET debug_sync='now WAIT_FOR parked';
+disconnect con1;
+# Waiting for thread to get deleted
+SET debug_sync='now SIGNAL go';
+connection con2;
+ERROR XAE04: XAER_NOTA: Unknown XID
+*** Must have 'xatest' in the list
+XA RECOVER;
+formatID gtrid_length bqual_length data
+1 6 0 xatest
+XA COMMIT 'xatest';
+disconnect con2;
+connection default;
+SET debug_sync='RESET';
+connect con1, localhost, root;
+connect con2, localhost, root;
+connection con1;
+XA START 'xatest';
+XA END 'xatest';
+XA PREPARE 'xatest';
+connection con2;
+SET debug_sync='xa_after_search SIGNAL parked WAIT_FOR go';
+XA ROLLBACK 'xatest';
+connection default;
+SET debug_sync='now WAIT_FOR parked';
+disconnect con1;
+# Waiting for thread to get deleted
+SET debug_sync='now SIGNAL go';
+connection con2;
+ERROR XAE04: XAER_NOTA: Unknown XID
+*** Must have 'xatest' in the list
+XA RECOVER;
+formatID gtrid_length bqual_length data
+1 6 0 xatest
+XA ROLLBACK 'xatest';
+disconnect con2;
+connection default;
+SET debug_sync='RESET';