mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fix sporadic innodb.auto_increment_dup failures
fix a race condition in the test
This commit is contained in:
@ -81,18 +81,20 @@ affected rows: 0
|
|||||||
#
|
#
|
||||||
connect con1, localhost, root;
|
connect con1, localhost, root;
|
||||||
connect con2, localhost, root;
|
connect con2, localhost, root;
|
||||||
|
SET DEBUG_SYNC='now WAIT_FOR write_row_done';
|
||||||
connection con1;
|
connection con1;
|
||||||
#
|
#
|
||||||
# Connection 1
|
# Connection 1
|
||||||
#
|
#
|
||||||
SET DEBUG_SYNC=IF(@@innodb_autoinc_lock_mode > 0, 'ha_write_row_end WAIT_FOR continue', 'RESET');
|
SET DEBUG_SYNC='ha_write_row_end SIGNAL write_row_done WAIT_FOR continue';
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1';
|
INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1';
|
||||||
connection con2;
|
connection con2;
|
||||||
#
|
#
|
||||||
# Connection 2
|
# Connection 2
|
||||||
#
|
#
|
||||||
SET DEBUG_SYNC=IF(@@innodb_autoinc_lock_mode > 0, 'execute_command_after_close_tables SIGNAL continue', 'RESET');
|
affected rows: 0
|
||||||
|
SET DEBUG_SYNC='execute_command_after_close_tables SIGNAL continue';
|
||||||
affected rows: 0
|
affected rows: 0
|
||||||
INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2';
|
INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2';
|
||||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||||
|
@ -77,18 +77,20 @@ CREATE TABLE t1(
|
|||||||
--connect(con1, localhost, root)
|
--connect(con1, localhost, root)
|
||||||
--connect(con2, localhost, root)
|
--connect(con2, localhost, root)
|
||||||
|
|
||||||
|
--send SET DEBUG_SYNC='now WAIT_FOR write_row_done'
|
||||||
--connection con1
|
--connection con1
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Connection 1
|
--echo # Connection 1
|
||||||
--echo #
|
--echo #
|
||||||
SET DEBUG_SYNC=IF(@@innodb_autoinc_lock_mode > 0, 'ha_write_row_end WAIT_FOR continue', 'RESET');
|
SET DEBUG_SYNC='ha_write_row_end SIGNAL write_row_done WAIT_FOR continue';
|
||||||
--send INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1'
|
--send INSERT INTO t1(k) VALUES (1), (2), (3) ON DUPLICATE KEY UPDATE c='1'
|
||||||
--connection con2
|
--connection con2
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Connection 2
|
--echo # Connection 2
|
||||||
--echo #
|
--echo #
|
||||||
SET DEBUG_SYNC=IF(@@innodb_autoinc_lock_mode > 0, 'execute_command_after_close_tables SIGNAL continue', 'RESET');
|
--reap
|
||||||
--error 1205
|
SET DEBUG_SYNC='execute_command_after_close_tables SIGNAL continue';
|
||||||
|
--error ER_LOCK_WAIT_TIMEOUT
|
||||||
INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2';
|
INSERT INTO t1(k) VALUES (2), (4), (5) ON DUPLICATE KEY UPDATE c='2';
|
||||||
|
|
||||||
--connection con1
|
--connection con1
|
||||||
|
Reference in New Issue
Block a user