summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-02-17 10:53:58 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2022-02-17 10:53:58 +0200
commit5b237e5965c613842a897516eebf0d4e9fe12f98 (patch)
tree6c5521b053ea560ac3231acf66e9a7d3189d0d87 /mysql-test/suite/rpl
parent0a92ef458bba67223555066cc866a3b553768906 (diff)
parent73c391afc5f9315658e0486a375dbce2d109b9b5 (diff)
downloadmariadb-git-5b237e5965c613842a897516eebf0d4e9fe12f98.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'mysql-test/suite/rpl')
-rw-r--r--mysql-test/suite/rpl/r/rpl_seconds_behind_master_spike.result5
-rw-r--r--mysql-test/suite/rpl/t/rpl_seconds_behind_master_spike.test18
2 files changed, 19 insertions, 4 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_seconds_behind_master_spike.result b/mysql-test/suite/rpl/r/rpl_seconds_behind_master_spike.result
index be18f95c2c0..4eeb863bb40 100644
--- a/mysql-test/suite/rpl/r/rpl_seconds_behind_master_spike.result
+++ b/mysql-test/suite/rpl/r/rpl_seconds_behind_master_spike.result
@@ -29,9 +29,10 @@ count(*)=1
# not considered in Seconds_Behind_Master calculation
connection slave1;
# Safely resume slave SQL thread
-SET @@global.debug_dbug='';
-SET DEBUG_SYNC='pause_sql_thread_on_fde CLEAR';
+# Prove SQL thread is in state "debug sync point: now"
+SET @@global.debug_dbug="-d,pause_sql_thread_on_fde";
SET DEBUG_SYNC='now SIGNAL sql_thread_continue';
+# Wait for SQL thread to continue into normal execution
SET DEBUG_SYNC='RESET';
connection master;
DROP TABLE t1;
diff --git a/mysql-test/suite/rpl/t/rpl_seconds_behind_master_spike.test b/mysql-test/suite/rpl/t/rpl_seconds_behind_master_spike.test
index 029625a09ad..31a9478f632 100644
--- a/mysql-test/suite/rpl/t/rpl_seconds_behind_master_spike.test
+++ b/mysql-test/suite/rpl/t/rpl_seconds_behind_master_spike.test
@@ -71,10 +71,24 @@ if(`select $sbm > $t_now - $t_master_events_logged + 1`)
}
--echo # Safely resume slave SQL thread
-SET @@global.debug_dbug='';
-SET DEBUG_SYNC='pause_sql_thread_on_fde CLEAR';
+
+--let $dbug_wait_state="debug sync point: now"
+--echo # Prove SQL thread is in state $dbug_wait_state
+--let $wait_condition= SELECT STATE=$dbug_wait_state from information_schema.PROCESSLIST where COMMAND="Slave_SQL"
+--source include/wait_condition.inc
+
+SET @@global.debug_dbug="-d,pause_sql_thread_on_fde";
SET DEBUG_SYNC='now SIGNAL sql_thread_continue';
+# We have to wait for the SQL thread to acknowledge the sql_thread_continue
+# signal. Otherwise the below RESET command can overwrite the signal before
+# the SQL thread is notified to proceed, causing it to "permanently" become
+# stuck awaiting the signal (until timeout is reached).
+
+--echo # Wait for SQL thread to continue into normal execution
+--let $wait_condition= SELECT STATE!= $dbug_wait_state from information_schema.PROCESSLIST where COMMAND="Slave_SQL"
+--source include/wait_condition.inc
+
# Reset last sql_thread_continue signal
SET DEBUG_SYNC='RESET';