Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5, 10.6, 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL), 11.3(EOL)
-
None
Description
In an addition to test rpl.rpl_parallel_sbm added by MDEV-32265, the test uses sleep statements alone to test Seconds_Behind_Master with delayed replication. On slow running machines, the test can pass the intended MASTER_DELAY duration and Seconds_Behind_Master can become 0, when the test expects the transaction to still be actively in a delaying state.
The test failure resembles the following:
rpl.rpl_parallel_sbm 'mix' w20 [ fail ]
|
Test ended at 2024-02-20 10:27:35
|
CURRENT_TEST: rpl.rpl_parallel_sbm
|
mysqltest: At line 85: Seconds_Behind_Master did not increase after sleeping, but should have
|
And the following patch reproduces this consistently
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_sbm.test b/mysql-test/suite/rpl/t/rpl_parallel_sbm.test
|
index 58c0db15e47..5baf6a56487 100644
|
--- a/mysql-test/suite/rpl/t/rpl_parallel_sbm.test
|
+++ b/mysql-test/suite/rpl/t/rpl_parallel_sbm.test
|
@@ -77,6 +77,10 @@ if (`SELECT $sbm_trx1_arrive > ($seconds_since_idling + 1)`)
|
--echo # Sleeping 1s to increment SBM
|
sleep 1;
|
|
+--disable_query_log
|
+sleep 4;
|
+--enable_query_log
|
+
|
--echo # Ensuring Seconds_Behind_Master increases after sleeping..
|
--let $sbm_trx1_after_1s_sleep= query_get_value(SHOW SLAVE STATUS, Seconds_Behind_Master, 1)
|
if (`SELECT $sbm_trx1_after_1s_sleep <= $sbm_trx1_arrive`)
|
Attachments
Issue Links
- is caused by
-
MDEV-32265 seconds_behind_master is inaccurate for Delayed replication
- Closed
- is duplicated by
-
MDEV-33499 rpl.rpl_parallel_sbm can fail on slow machines, e.g. MSAN/Valgrind builders
- Closed