forked from MariaDB/server
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
581 additions
and
364 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
--let $_server_id= `SELECT @@server_id` | ||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect | ||
|
||
if ($restart_parameters) | ||
{ | ||
--echo # Kill and restart: $restart_parameters | ||
--exec echo "restart: $restart_parameters" > $_expect_file_name | ||
} | ||
if (!$restart_parameters) | ||
{ | ||
--echo # Kill and restart | ||
--exec echo "restart" > $_expect_file_name | ||
} | ||
|
||
--shutdown_server 0 | ||
--source include/wait_until_disconnected.inc | ||
--enable_reconnect | ||
--source include/wait_until_connected_again.inc | ||
--disable_reconnect |
31 changes: 31 additions & 0 deletions
31
mysql-test/suite/binlog/r/binlog_max_binlog_stmt_cache_size.result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
select @@max_binlog_stmt_cache_size; | ||
@@max_binlog_stmt_cache_size | ||
18446744073709547520 | ||
set global max_binlog_stmt_cache_size= 18446744073709547520; | ||
select @@max_binlog_stmt_cache_size; | ||
@@max_binlog_stmt_cache_size | ||
18446744073709547520 | ||
set global max_binlog_stmt_cache_size= 18446744073709547519; | ||
Warnings: | ||
Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '18446744073709547519' | ||
select @@max_binlog_stmt_cache_size; | ||
@@max_binlog_stmt_cache_size | ||
18446744073709543424 | ||
set global max_binlog_stmt_cache_size= 18446744073709551615; | ||
Warnings: | ||
Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '18446744073709551615' | ||
select @@max_binlog_stmt_cache_size; | ||
@@max_binlog_stmt_cache_size | ||
18446744073709547520 | ||
set global max_binlog_stmt_cache_size= 18446744073709551614; | ||
Warnings: | ||
Warning 1292 Truncated incorrect max_binlog_stmt_cache_size value: '18446744073709551614' | ||
select @@max_binlog_stmt_cache_size; | ||
@@max_binlog_stmt_cache_size | ||
18446744073709547520 | ||
set global max_binlog_stmt_cache_size= 18446744073709551616; | ||
ERROR 42000: Incorrect argument type to variable 'max_binlog_stmt_cache_size' | ||
select @@max_binlog_stmt_cache_size; | ||
@@max_binlog_stmt_cache_size | ||
18446744073709547520 | ||
set global max_binlog_stmt_cache_size= 18446744073709547520; |
1 change: 1 addition & 0 deletions
1
mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.opt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
--max_binlog_stmt_cache_size=18446744073709547520 |
22 changes: 22 additions & 0 deletions
22
mysql-test/suite/binlog/t/binlog_max_binlog_stmt_cache_size.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
source include/have_log_bin.inc; | ||
select @@max_binlog_stmt_cache_size; | ||
|
||
--let $cache_size=`select @@max_binlog_stmt_cache_size;` | ||
|
||
set global max_binlog_stmt_cache_size= 18446744073709547520; | ||
select @@max_binlog_stmt_cache_size; | ||
|
||
set global max_binlog_stmt_cache_size= 18446744073709547519; | ||
select @@max_binlog_stmt_cache_size; | ||
|
||
set global max_binlog_stmt_cache_size= 18446744073709551615; | ||
select @@max_binlog_stmt_cache_size; | ||
|
||
set global max_binlog_stmt_cache_size= 18446744073709551614; | ||
select @@max_binlog_stmt_cache_size; | ||
|
||
--error ER_WRONG_TYPE_FOR_VAR | ||
set global max_binlog_stmt_cache_size= 18446744073709551616; | ||
select @@max_binlog_stmt_cache_size; | ||
|
||
--eval set global max_binlog_stmt_cache_size= $cache_size |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
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"); | ||
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"); | ||
CREATE TABLE t1(a INT PRIMARY KEY) ENGINE=InnoDB; | ||
BEGIN; | ||
INSERT INTO t1 VALUES (42); | ||
# Kill and restart: --innodb-log-file-size=6M | ||
SELECT * FROM t1; | ||
a | ||
INSERT INTO t1 VALUES (42); | ||
BEGIN; | ||
DELETE FROM t1; | ||
# Kill and restart: --innodb-log-files-in-group=3 --innodb-log-file-size=5M | ||
SELECT * FROM t1; | ||
a | ||
42 | ||
INSERT INTO t1 VALUES (123); | ||
BEGIN; | ||
DELETE FROM t1; | ||
# Kill the server | ||
--innodb-force-recovery-crash=1 | ||
--innodb-force-recovery-crash=3 | ||
--innodb-force-recovery-crash=4 | ||
--innodb-force-recovery-crash=5 | ||
--innodb-force-recovery-crash=6 | ||
--innodb-force-recovery-crash=7 | ||
--innodb-force-recovery-crash=8 | ||
--innodb-force-recovery-crash=9 | ||
--innodb-force-recovery-crash=10 | ||
SELECT * FROM t1; | ||
a | ||
42 | ||
123 | ||
DROP TABLE t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
# Test resizing the InnoDB redo log. | ||
|
||
--source include/have_innodb.inc | ||
|
||
# Embedded server does not support crashing | ||
--source include/not_embedded.inc | ||
# Avoid CrashReporter popup on Mac | ||
--source include/not_crashrep.inc | ||
# innodb-force-recovery-crash needs debug | ||
--source include/have_debug.inc | ||
|
||
if (`SELECT @@innodb_log_file_size = 1048576`) { | ||
--skip Test requires innodb_log_file_size>1M. | ||
} | ||
|
||
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"); | ||
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"); | ||
|
||
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_ABORT = NOT FOUND; | ||
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err; | ||
let $args=--innodb --unknown-option --loose-console --core-file > $SEARCH_FILE 2>&1; | ||
let $crash=--innodb --unknown-option --loose-console > $SEARCH_FILE 2>&1 --innodb-force-recovery-crash; | ||
|
||
BEGIN; | ||
DELETE FROM t1; | ||
|
||
--source include/kill_mysqld.inc | ||
|
||
--error 2 | ||
--exec $MYSQLD_CMD $args --innodb-log-group-home-dir=foo\;bar | ||
let SEARCH_PATTERN= syntax error in innodb_log_group_home_dir; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
--echo --innodb-force-recovery-crash=1 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=1 | ||
let SEARCH_PATTERN= InnoDB: Starting an apply batch of log records; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
--echo --innodb-force-recovery-crash=3 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=3 | ||
let SEARCH_PATTERN= InnoDB: Starting an apply batch of log records; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
--error 2 | ||
--exec $MYSQLD_CMD $args --innodb-read-only | ||
let SEARCH_PATTERN= InnoDB: innodb_read_only prevents crash recovery; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
--echo --innodb-force-recovery-crash=4 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=4 | ||
let SEARCH_PATTERN= InnoDB: Starting an apply batch of log records; | ||
--source include/search_pattern_in_file.inc | ||
let SEARCH_PATTERN= InnoDB: Resizing redo log from 3\*[0-9]+ to 2\*[0-9]+ pages; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
--echo --innodb-force-recovery-crash=5 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=5 | ||
let SEARCH_PATTERN= InnoDB: Starting an apply batch of log records; | ||
--source include/search_pattern_in_file.inc | ||
let SEARCH_PATTERN= InnoDB: Resizing redo log from 3\*[0-9]+ to 2\*[0-9]+ pages; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
--error 2 | ||
--exec $MYSQLD_CMD $args --innodb-read-only | ||
let SEARCH_PATTERN= InnoDB: innodb_read_only prevents crash recovery; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
--echo --innodb-force-recovery-crash=6 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=6 | ||
let SEARCH_PATTERN= InnoDB: Starting an apply batch of log records; | ||
--source include/search_pattern_in_file.inc | ||
let SEARCH_PATTERN= InnoDB: Resizing redo log from 3\*[0-9]+ to 2\*[0-9]+ pages; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
--echo --innodb-force-recovery-crash=7 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=7 | ||
# this crashes right after deleting all log files | ||
--remove_file $SEARCH_FILE | ||
|
||
--error 2 | ||
--exec $MYSQLD_CMD $args --innodb-read-only | ||
let SEARCH_PATTERN= InnoDB: Cannot create log files in read-only mode; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
--echo --innodb-force-recovery-crash=8 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=8 | ||
let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
--echo --innodb-force-recovery-crash=9 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=9 | ||
let SEARCH_PATTERN= InnoDB: Setting log file .*ib_logfile[0-9]+ size to; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
|
||
# 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 | ||
--error 2 | ||
--exec $MYSQLD_CMD $args | ||
let SEARCH_PATTERN= InnoDB: Only one log file found; | ||
--source include/search_pattern_in_file.inc | ||
--remove_file $SEARCH_FILE | ||
--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 | ||
--error 2 | ||
--exec $MYSQLD_CMD $args | ||
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 $SEARCH_FILE | ||
--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 | ||
|
||
--error 2 | ||
--exec $MYSQLD_CMD $args | ||
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 $SEARCH_FILE | ||
--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 | ||
|
||
--echo --innodb-force-recovery-crash=10 | ||
--error 3 | ||
--exec $MYSQLD_CMD $crash=10 | ||
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 | ||
--remove_file $SEARCH_FILE | ||
|
||
--let $restart_parameters= | ||
--source include/start_mysqld.inc | ||
|
||
SELECT * FROM t1; | ||
DROP TABLE t1; |
Oops, something went wrong.