Commit 59ea6456 authored by Marko Mäkelä's avatar Marko Mäkelä

Minor cleanup of innodb.innodb-change-buffer-recovery

This should be a non-functional change. I was unable to repeat
MDEV-11626 innodb.innodb-change-buffer-recovery fails for xtradb
and cannot determine the reason for the failure without having access
to the files.

The repeatability of MDEV-11626 should not be affected by these changes.
parent 384f4d1e
...@@ -8,7 +8,7 @@ a INT AUTO_INCREMENT PRIMARY KEY, ...@@ -8,7 +8,7 @@ a INT AUTO_INCREMENT PRIMARY KEY,
b CHAR(1), b CHAR(1),
c INT, c INT,
INDEX(b)) INDEX(b))
ENGINE=InnoDB; ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES(0,'x',1); INSERT INTO t1 VALUES(0,'x',1);
INSERT INTO t1 SELECT 0,b,c FROM t1; INSERT INTO t1 SELECT 0,b,c FROM t1;
INSERT INTO t1 SELECT 0,b,c FROM t1; INSERT INTO t1 SELECT 0,b,c FROM t1;
......
if (`select plugin_auth_version < "5.6.17" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB before 5.6.17
}
--echo # --echo #
--echo # Bug#69122 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE --echo # Bug#69122 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE
--echo # OPERATION IF IT IS DONE IN-PLACE --echo # OPERATION IF IT IS DONE IN-PLACE
...@@ -14,8 +9,9 @@ if (`select plugin_auth_version < "5.6.17" from information_schema.plugins where ...@@ -14,8 +9,9 @@ if (`select plugin_auth_version < "5.6.17" from information_schema.plugins where
--source include/not_embedded.inc --source include/not_embedded.inc
# DBUG_SUICIDE() hangs under valgrind # DBUG_SUICIDE() hangs under valgrind
--source include/not_valgrind.inc --source include/not_valgrind.inc
# No windows, need perl
--source include/not_windows.inc --let $_server_id= `SELECT @@server_id`
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
# The flag innodb_change_buffering_debug is only available in debug builds. # The flag innodb_change_buffering_debug is only available in debug builds.
# It instructs InnoDB to try to evict pages from the buffer pool when # It instructs InnoDB to try to evict pages from the buffer pool when
...@@ -29,7 +25,7 @@ CREATE TABLE t1( ...@@ -29,7 +25,7 @@ CREATE TABLE t1(
b CHAR(1), b CHAR(1),
c INT, c INT,
INDEX(b)) INDEX(b))
ENGINE=InnoDB; ENGINE=InnoDB STATS_PERSISTENT=0;
# Create enough rows for the table, so that the change buffer will be # Create enough rows for the table, so that the change buffer will be
# used for modifying the secondary index page. There must be multiple # used for modifying the secondary index page. There must be multiple
...@@ -54,27 +50,23 @@ BEGIN; ...@@ -54,27 +50,23 @@ BEGIN;
SELECT b FROM t1 LIMIT 3; SELECT b FROM t1 LIMIT 3;
connect (con1,localhost,root,,); connect (con1,localhost,root,,);
connection con1;
BEGIN; BEGIN;
DELETE FROM t1 WHERE a=1; DELETE FROM t1 WHERE a=1;
# This should be buffered, if innodb_change_buffering_debug = 1 is in effect. # This should be buffered, if innodb_change_buffering_debug = 1 is in effect.
INSERT INTO t1 VALUES(1,'X',1); INSERT INTO t1 VALUES(1,'X',1);
SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace'; SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace';
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--exec echo "wait" > $_expect_file_name
--error 2013 --error 2013
# This should force a change buffer merge # This should force a change buffer merge
SELECT b FROM t1 LIMIT 3; SELECT b FROM t1 LIMIT 3;
disconnect con1;
connection default;
let SEARCH_PATTERN=Wrote log record for ibuf update in place operation; let SEARCH_PATTERN=Wrote log record for ibuf update in place operation;
--source include/search_pattern_in_file.inc --source include/search_pattern_in_file.inc
--source include/start_mysqld.inc
# Write file to make mysql-test-run.pl start up the server again
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
CHECK TABLE t1; CHECK TABLE t1;
# Cleanup
DROP TABLE t1; DROP TABLE t1;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment