mirror of
https://github.com/MariaDB/server.git
synced 2025-11-28 17:36:30 +03:00
log_calc_max_ages(): Use the requested size in the check, instead of the detected redo log size. The redo log will be resized at startup if it differs from what has been requested.
222 lines
7.6 KiB
Plaintext
222 lines
7.6 KiB
Plaintext
# Test resizing the InnoDB redo log.
|
|
|
|
--source include/innodb_page_size.inc
|
|
|
|
# Embedded server does not support crashing
|
|
--source include/not_embedded.inc
|
|
# Avoid CrashReporter popup on Mac
|
|
--source include/not_crashrep.inc
|
|
# DBUG_EXECUTE_IF is needed
|
|
--source include/have_debug.inc
|
|
|
|
if (`SELECT @@innodb_log_file_size = 1048576`) {
|
|
--skip Test requires innodb_log_file_size>1M.
|
|
}
|
|
|
|
--disable_query_log
|
|
call mtr.add_suppression("InnoDB: Resizing redo log");
|
|
call mtr.add_suppression("InnoDB: Starting to delete and rewrite log files");
|
|
call mtr.add_suppression("InnoDB: New log files created");
|
|
# This message is output by 10.0 and 10.1, not by 10.2
|
|
call mtr.add_suppression("InnoDB: The log sequence number in the ibdata files is higher than the log sequence number in the ib_logfiles");
|
|
call mtr.add_suppression("InnoDB: The log sequence numbers [0-9]+ and [0-9]+ in ibdata files do not match the log sequence number [0-9]+ in the ib_logfiles");
|
|
call mtr.add_suppression("syntax error in innodb_log_group_home_dir");
|
|
call mtr.add_suppression("Plugin 'InnoDB' init function returned error");
|
|
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed");
|
|
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
|
|
call mtr.add_suppression("InnoDB: innodb_read_only prevents crash recovery");
|
|
call mtr.add_suppression("InnoDB: Are you sure you are using the right ib_logfiles");
|
|
call mtr.add_suppression("InnoDB: Cannot create log files in read-only mode");
|
|
call mtr.add_suppression("InnoDB: Only one log file found");
|
|
call mtr.add_suppression("InnoDB: Log file .*ib_logfile[01].* size");
|
|
call mtr.add_suppression("InnoDB: Unable to open .*ib_logfile0. to check native AIO read support");
|
|
# InnoDB shutdown after refused startup is not clean in 10.0 or 10.1!
|
|
--source include/not_valgrind.inc
|
|
call mtr.add_suppression("mysqld got signal 11");
|
|
call mtr.add_suppression("Attempting backtrace");
|
|
FLUSH TABLES;
|
|
--enable_query_log
|
|
|
|
--let $restart_parameters= --innodb-thread-concurrency=1 --innodb-log-file-size=1m --innodb-log-files-in-group=2
|
|
--source include/restart_mysqld.inc
|
|
|
|
--let $restart_parameters= --innodb-thread-concurrency=100 --innodb-log-file-size=10M --innodb-log-files-in-group=2
|
|
--source include/restart_mysqld.inc
|
|
|
|
CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
BEGIN;
|
|
INSERT INTO t1 VALUES (42);
|
|
|
|
let $restart_parameters = --innodb-log-file-size=6M;
|
|
--source include/kill_and_restart_mysqld.inc
|
|
|
|
SELECT * FROM t1;
|
|
|
|
INSERT INTO t1 VALUES (42);
|
|
BEGIN;
|
|
DELETE FROM t1;
|
|
|
|
let $restart_parameters = --innodb-log-files-in-group=3 --innodb-log-file-size=5M;
|
|
--source include/kill_and_restart_mysqld.inc
|
|
|
|
SELECT * FROM t1;
|
|
|
|
INSERT INTO t1 VALUES (123);
|
|
|
|
let MYSQLD_DATADIR= `select @@datadir`;
|
|
let SEARCH_RANGE= -50000;
|
|
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
|
|
|
|
BEGIN;
|
|
DELETE FROM t1;
|
|
|
|
--source include/kill_mysqld.inc
|
|
|
|
--let $restart_parameters= --innodb-log-group-home-dir=foo\;bar
|
|
--source include/start_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= syntax error in innodb_log_group_home_dir;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_1
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= InnoDB: Starting crash recovery from checkpoint LSN=;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_3
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
--let $restart_parameters= --innodb-read-only
|
|
--source include/restart_mysqld.inc
|
|
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= InnoDB: innodb_read_only prevents crash recovery;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_4
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= redo log from 3\*[0-9]+ to 2\*[0-9]+ pages;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_5
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= redo log from 3\*[0-9]+ to 2\*[0-9]+ pages;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --innodb-read-only
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= InnoDB: innodb_read_only prevents crash recovery;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_6
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= redo log from 3\*[0-9]+ to 2\*[0-9]+ pages;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_7
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
# this aborts right after deleting all log files
|
|
|
|
--let $restart_parameters= --innodb-read-only
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= InnoDB: Cannot create log files in read-only mode;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_8
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_9
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to;
|
|
--source include/search_pattern_in_file.inc
|
|
--source include/shutdown_mysqld.inc
|
|
|
|
# We should have perfectly synced files here.
|
|
# Rename the log files, and trigger an error in recovery.
|
|
--move_file $MYSQLD_DATADIR/ib_logfile101 $MYSQLD_DATADIR/ib_logfile0
|
|
--move_file $MYSQLD_DATADIR/ib_logfile1 $MYSQLD_DATADIR/ib_logfile1_hidden
|
|
|
|
--let $restart_parameters=
|
|
--source include/start_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= InnoDB: Only one log file found;
|
|
--source include/search_pattern_in_file.inc
|
|
--move_file $MYSQLD_DATADIR/ib_logfile0 $MYSQLD_DATADIR/ib_logfile101
|
|
|
|
perl;
|
|
die unless open(FILE, ">$ENV{MYSQLD_DATADIR}/ib_logfile0");
|
|
print FILE "garbage";
|
|
close(FILE);
|
|
EOF
|
|
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
let SEARCH_PATTERN= InnoDB: Log file .*ib_logfile0 size 7 is not a multiple of innodb_page_size;
|
|
--source include/search_pattern_in_file.inc
|
|
--remove_file $MYSQLD_DATADIR/ib_logfile0
|
|
--move_file $MYSQLD_DATADIR/ib_logfile101 $MYSQLD_DATADIR/ib_logfile0
|
|
|
|
perl;
|
|
die unless open(FILE, ">$ENV{MYSQLD_DATADIR}/ib_logfile1");
|
|
print FILE "junkfill" x 131072;
|
|
close(FILE);
|
|
EOF
|
|
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= InnoDB: Log file .*ib_logfile1 is of different size 1048576 bytes than other log files;
|
|
--source include/search_pattern_in_file.inc
|
|
--remove_file $MYSQLD_DATADIR/ib_logfile1
|
|
--move_file $MYSQLD_DATADIR/ib_logfile0 $MYSQLD_DATADIR/ib_logfile101
|
|
--move_file $MYSQLD_DATADIR/ib_logfile1_hidden $MYSQLD_DATADIR/ib_logfile1
|
|
|
|
--let $restart_parameters= --debug=d,innodb_log_abort_10
|
|
--source include/restart_mysqld.inc
|
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
|
SELECT * FROM t1;
|
|
|
|
let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to;
|
|
--source include/search_pattern_in_file.inc
|
|
let SEARCH_PATTERN= InnoDB: Renaming log file .*ib_logfile101 to .*ib_logfile0;
|
|
--source include/search_pattern_in_file.inc
|
|
|
|
--let $restart_parameters=
|
|
--source include/restart_mysqld.inc
|
|
|
|
SELECT * FROM t1;
|
|
DROP TABLE t1;
|