SET @save_tdc= @@GLOBAL.table_definition_cache; SET @save_toc= @@GLOBAL.table_open_cache; SET GLOBAL table_definition_cache= 400; SET GLOBAL table_open_cache= 1024; CREATE TABLE to_be_evicted(a INT PRIMARY KEY, b INT NOT NULL) ENGINE=InnoDB; INSERT INTO to_be_evicted VALUES(1,2),(2,1); SET DEBUG_SYNC = 'row_log_apply_before SIGNAL scanned WAIT_FOR got_duplicate'; ALTER TABLE to_be_evicted ADD UNIQUE INDEX(b); SET DEBUG_SYNC = 'now WAIT_FOR scanned'; BEGIN; INSERT INTO to_be_evicted VALUES(3, 2); SET DEBUG_SYNC = 'now SIGNAL got_duplicate'; ERROR 23000: Duplicate entry '2' for key 'b' COMMIT; SET DEBUG_SYNC = RESET; FLUSH TABLES;