mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-33106 innodb.innodb-lock-inherit-read_commited times out
Sometimes, in MariaDB Server 10.5 but apparently not in later branches, the test would hang because con1 and con2 would be blocked in debug_sync (for example, lock_wait_suspend_thread_enter and row_ins_sec_index_entry_dup_locks_created) and therefore blocking the purge of transactions from completing. To prevent an occasional DEBUG_SYNC induced hang in the test, we will wait for everything to be purged, except the last 2 transactions. This change should be null-merged to 10.6, because the test is not failing in 10.6 or later major versions.
This commit is contained in:
@ -40,7 +40,7 @@ connection purge_control;
|
||||
COMMIT;
|
||||
disconnect purge_control;
|
||||
connection default;
|
||||
InnoDB 0 transactions not purged
|
||||
SET GLOBAL innodb_max_purge_lag_wait=2;
|
||||
SET debug_sync = 'now SIGNAL con2_go WAIT_FOR con2_insert_done';
|
||||
SET debug_sync = 'now SIGNAL con1_go WAIT_FOR con1_insert_done';
|
||||
SET debug_sync = 'now SIGNAL con1_finish';
|
||||
@ -99,7 +99,7 @@ connection purge_control;
|
||||
COMMIT;
|
||||
disconnect purge_control;
|
||||
connection default;
|
||||
InnoDB 0 transactions not purged
|
||||
SET GLOBAL innodb_max_purge_lag_wait=2;
|
||||
SET debug_sync = 'now SIGNAL con2_go WAIT_FOR con2_insert_done';
|
||||
SET debug_sync = 'now SIGNAL con1_go WAIT_FOR con1_insert_done';
|
||||
SET debug_sync = 'now SIGNAL con1_finish';
|
||||
|
@ -79,7 +79,7 @@ disconnect purge_control;
|
||||
connection default;
|
||||
|
||||
# Wait for purge to delete the delete-marked record
|
||||
--source ../../innodb/include/wait_all_purged.inc
|
||||
SET GLOBAL innodb_max_purge_lag_wait=2;
|
||||
|
||||
SET debug_sync = 'now SIGNAL con2_go WAIT_FOR con2_insert_done';
|
||||
SET debug_sync = 'now SIGNAL con1_go WAIT_FOR con1_insert_done';
|
||||
|
Reference in New Issue
Block a user