From c341743e83c1213251a67b50f67f19ee9ad91545 Mon Sep 17 00:00:00 2001 From: Brandon Nesterenko Date: Wed, 1 Nov 2023 06:50:25 -0600 Subject: [PATCH] MDEV-32651: Lost Debug_sync signal in rpl_sql_thd_start_errno_cleared The test rpl.rpl_sql_thd_start_errno_cleared can lose a debug_sync signal, as there is a RESET immediately following a SIGNAL. When the signal is lost, the sql_thread is stuck in a WAIT_FOR clause until it times out, resulting in long test times (albeit still successful). This patch extends the test to ensure the debug_sync signal was received before issuing the RESET --- mysql-test/suite/rpl/r/rpl_sql_thd_start_errno_cleared.result | 1 + mysql-test/suite/rpl/t/rpl_sql_thd_start_errno_cleared.test | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/mysql-test/suite/rpl/r/rpl_sql_thd_start_errno_cleared.result b/mysql-test/suite/rpl/r/rpl_sql_thd_start_errno_cleared.result index b14f7b01541..a3e98afa775 100644 --- a/mysql-test/suite/rpl/r/rpl_sql_thd_start_errno_cleared.result +++ b/mysql-test/suite/rpl/r/rpl_sql_thd_start_errno_cleared.result @@ -34,6 +34,7 @@ set debug_sync= "now wait_for sql_thread_run_lock_released"; # Validating that Last_SQL_Errno is cleared.. # ..success set debug_sync= "now signal sql_thread_continue"; +# Wait for debug_sync signal to have been received before issuing RESET set @@global.debug_dbug= @saved_dbug; set debug_sync= "RESET"; # Cleanup diff --git a/mysql-test/suite/rpl/t/rpl_sql_thd_start_errno_cleared.test b/mysql-test/suite/rpl/t/rpl_sql_thd_start_errno_cleared.test index f6dcfd91409..8b096902143 100644 --- a/mysql-test/suite/rpl/t/rpl_sql_thd_start_errno_cleared.test +++ b/mysql-test/suite/rpl/t/rpl_sql_thd_start_errno_cleared.test @@ -76,6 +76,10 @@ if ($last_error) set debug_sync= "now signal sql_thread_continue"; +--echo # Wait for debug_sync signal to have been received before issuing RESET +let $wait_condition= select count(*)=0 from information_schema.processlist where state like "debug sync point%"; +source include/wait_condition.inc; + set @@global.debug_dbug= @saved_dbug; set debug_sync= "RESET";