diff --git a/mysql-test/main/flush_read_lock.result b/mysql-test/main/flush_read_lock.result index 169b68b90c4de..948b4fb062b20 100644 --- a/mysql-test/main/flush_read_lock.result +++ b/mysql-test/main/flush_read_lock.result @@ -1392,19 +1392,22 @@ insert into t3_trans values (1); xa end 'test1'; xa prepare 'test1'; # Disconnect temporary connection +set debug_sync='thread_end SIGNAL test1_prepare'; disconnect con_tmp; +connection con1; +set debug_sync='now WAIT_FOR test1_prepare'; # Create temporary connection for XA transaction. -connect con_tmp,localhost,root,,; +connect con_tmp1,localhost,root,,; xa start 'test2'; insert into t3_trans values (2); xa end 'test2'; xa prepare 'test2'; # Disconnect temporary connection -set debug_sync='thread_end SIGNAL detached'; -disconnect con_tmp; +set debug_sync='thread_end SIGNAL test2_prepare'; +disconnect con_tmp1; # Switching to connection 'con1'. connection con1; -set debug_sync='now WAIT_FOR detached'; +set debug_sync='now WAIT_FOR test2_prepare'; flush tables with read lock; # Switching to connection 'default'. connection default; diff --git a/mysql-test/main/flush_read_lock.test b/mysql-test/main/flush_read_lock.test index c92d583e3a989..f24f6e389f1d8 100644 --- a/mysql-test/main/flush_read_lock.test +++ b/mysql-test/main/flush_read_lock.test @@ -1703,25 +1703,34 @@ insert into t3_trans values (1); xa end 'test1'; xa prepare 'test1'; --echo # Disconnect temporary connection +set debug_sync='thread_end SIGNAL test1_prepare'; disconnect con_tmp; +connection $con_aux1; +set debug_sync='now WAIT_FOR test1_prepare'; + + --echo # Create temporary connection for XA transaction. -connect (con_tmp,localhost,root,,); +connect (con_tmp1,localhost,root,,); xa start 'test2'; insert into t3_trans values (2); xa end 'test2'; xa prepare 'test2'; --echo # Disconnect temporary connection -set debug_sync='thread_end SIGNAL detached'; -disconnect con_tmp; +set debug_sync='thread_end SIGNAL test2_prepare'; +disconnect con_tmp1; + + --echo # Switching to connection '$con_aux1'. connection $con_aux1; -set debug_sync='now WAIT_FOR detached'; +set debug_sync='now WAIT_FOR test2_prepare'; flush tables with read lock; + --echo # Switching to connection 'default'. connection default; --echo # Send XA ROLLBACK 'test1' --send xa rollback 'test1' --echo # Switching to connection '$con_aux1'. + connection $con_aux1; --echo # Wait until XA ROLLBACK is blocked. let $wait_condition=