mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.5 into 10.6
This excludes commit040069f4ba
because it is specific to innodb_sync_debug, which had been removed in commitff5d306e29
.
This commit is contained in:
@@ -98,7 +98,7 @@ reset master;
|
||||
--echo # crash_purge_before_update_index
|
||||
flush logs;
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET SESSION debug_dbug="+d,crash_purge_before_update_index";
|
||||
--source include/wait_for_binlog_checkpoint.inc
|
||||
--error 2013
|
||||
@@ -119,7 +119,7 @@ SELECT @index;
|
||||
--echo # crash_purge_non_critical_after_update_index
|
||||
flush logs;
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET SESSION debug_dbug="+d,crash_purge_non_critical_after_update_index";
|
||||
--source include/wait_for_binlog_checkpoint.inc
|
||||
--error 2013
|
||||
@@ -143,7 +143,7 @@ SELECT @index;
|
||||
--echo # crash_purge_critical_after_update_index
|
||||
flush logs;
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET SESSION debug_dbug="+d,crash_purge_critical_after_update_index";
|
||||
--source include/wait_for_binlog_checkpoint.inc
|
||||
--error 2013
|
||||
@@ -167,7 +167,7 @@ file_exists $MYSQLD_DATADIR/master-bin.000008;
|
||||
SELECT @index;
|
||||
|
||||
--echo # crash_create_non_critical_before_update_index
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET SESSION debug_dbug="+d,crash_create_non_critical_before_update_index";
|
||||
--error 2013
|
||||
flush logs;
|
||||
@@ -185,7 +185,7 @@ file_exists $MYSQLD_DATADIR/master-bin.000009;
|
||||
SELECT @index;
|
||||
|
||||
--echo # crash_create_critical_before_update_index
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET SESSION debug_dbug="+d,crash_create_critical_before_update_index";
|
||||
--error 2013
|
||||
flush logs;
|
||||
@@ -205,7 +205,7 @@ file_exists $MYSQLD_DATADIR/master-bin.000011;
|
||||
SELECT @index;
|
||||
|
||||
--echo # crash_create_after_update_index
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET SESSION debug_dbug="+d,crash_create_after_update_index";
|
||||
--error 2013
|
||||
flush logs;
|
||||
|
@@ -26,10 +26,10 @@
|
||||
ALTER TABLE mysql.gtid_slave_pos ENGINE=innodb;
|
||||
|
||||
--echo # Restart the server so mysqld reads the gtid_slave_pos using innodb
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
|
@@ -68,10 +68,10 @@ while ($loop_times) {
|
||||
|
||||
# try to change the log-bin configs and restart
|
||||
--echo # ======= now try to change the log-bin config for mysqld =======
|
||||
--let $restart_parameters="--log-bin=new_log_bin"
|
||||
--let $restart_parameters=--log-bin=new_log_bin
|
||||
--echo #begin to restart mysqld
|
||||
--source include/restart_mysqld.inc
|
||||
--let $restart_parameters= ""
|
||||
--let $restart_parameters=
|
||||
|
||||
--source include/show_binary_logs.inc
|
||||
let $loop_times= 10;
|
||||
|
@@ -20,7 +20,7 @@
|
||||
|
||||
--connection $_cur_con
|
||||
--enable_reconnect
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
|
||||
|
||||
shutdown_server;
|
||||
|
||||
@@ -31,5 +31,5 @@ if ($rpl_server_parameters)
|
||||
{
|
||||
--let $_rpl_start_server_command= restart:$rpl_server_parameters
|
||||
}
|
||||
--exec echo "$_rpl_start_server_command" > $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
|
||||
--write_line "$_rpl_start_server_command" $MYSQLTEST_VARDIR/tmp/mysqld.$rpl_server_number.expect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
@@ -16,7 +16,7 @@ call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* becau
|
||||
--let $MYSQLD_DATADIR = `SELECT @@datadir`
|
||||
--let SEARCH_RANGE = 10000000
|
||||
--let t1_IBD = $MYSQLD_DATADIR/test/t1.ibd
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
@@ -25,7 +25,7 @@ call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .* becau
|
||||
4;770A8A65DA156D24EE2A093277530143
|
||||
EOF
|
||||
|
||||
--exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
@@ -47,7 +47,7 @@ UNLOCK TABLES;
|
||||
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
@@ -62,7 +62,7 @@ ib_discard_tablespaces("test", "t1");
|
||||
ib_restore_tablespaces("test", "t1");
|
||||
EOF
|
||||
|
||||
--exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--source include/restart_mysqld.inc
|
||||
@@ -80,7 +80,7 @@ SELECT * FROM t1;
|
||||
-- let SEARCH_FILE=$t1_IBD
|
||||
-- source include/search_pattern_in_file.inc
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
--remove_file $MYSQLTEST_VARDIR/keys1.txt
|
||||
@@ -89,7 +89,7 @@ SELECT * FROM t1;
|
||||
4;770A8A65DA156D24EE2A093277530143
|
||||
EOF
|
||||
|
||||
--exec echo "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--innodb-encrypt-tables --innodb-stats-persistent --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
DROP TABLE t1;
|
||||
|
@@ -21,7 +21,7 @@ CREATE TABLE t1(f1 BIGINT PRIMARY KEY, f2 int not null,
|
||||
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
||||
|
||||
CREATE TABLE t2 (f1 int not null)engine=innodb;
|
||||
let $restart_parameters="--debug=d,ib_log_checkpoint_avoid";
|
||||
let $restart_parameters=--debug=d,ib_log_checkpoint_avoid;
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
# Stop the purge
|
||||
|
@@ -8,7 +8,7 @@ if (!$kill_signal)
|
||||
# Write file to make mysql-test-run.pl expect the crash, but don't start it
|
||||
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
|
||||
--exec echo "wait" > $_expect_file_name
|
||||
--write_line wait $_expect_file_name
|
||||
|
||||
# Kill the connected server
|
||||
--disable_reconnect
|
||||
|
@@ -4,12 +4,12 @@
|
||||
|
||||
if ($galera_wsrep_start_position != '') {
|
||||
--echo Using --wsrep-start-position when starting mysqld ...
|
||||
--exec echo "restart:$start_mysqld_params --wsrep-start-position=$galera_wsrep_start_position" > $_expect_file_name
|
||||
--write_line "restart:$start_mysqld_params --wsrep-start-position=$galera_wsrep_start_position" $_expect_file_name
|
||||
--let $galera_wsrep_start_position = 0
|
||||
}
|
||||
|
||||
if ($galera_wsrep_start_position == '') {
|
||||
--exec echo "restart:$start_mysqld_params" > $_expect_file_name
|
||||
--write_line "restart:$start_mysqld_params" $_expect_file_name
|
||||
}
|
||||
|
||||
--source include/galera_wait_ready.inc
|
||||
|
@@ -37,7 +37,7 @@ UPDATE t1 SET f2 = 'c' WHERE f1 > 2;
|
||||
# Write file to make mysql-test-run.pl expect the crash, but don't start it
|
||||
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
|
||||
--exec echo "wait" > $_expect_file_name
|
||||
--write_line wait $_expect_file_name
|
||||
|
||||
--let KILL_NODE_PIDFILE = `SELECT @@pid_file`
|
||||
|
||||
|
@@ -27,8 +27,8 @@ INSERT INTO t1 VALUES (1);
|
||||
SELECT COUNT(*) = 1 FROM t1;
|
||||
--let $NODE_2_PIDFILE = `SELECT @@pid_file`
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--exec kill -9 `cat $NODE_1_PIDFILE` `cat $NODE_2_PIDFILE`
|
||||
|
||||
# Perform --wsrep-recover and preserve the positions into variables by placing them in $MYSQL_TMP_DIR/galera_wsrep_start_position.inc and then --source'ing it
|
||||
@@ -66,8 +66,8 @@ if ($galera_wsrep_start_position2 == '') {
|
||||
|
||||
# Instruct MTR to perform the actual restart using --wsrep-start-position . Proper --wsrep_cluster_address is used as my.cnf only contains 'gcomm://' for node #1
|
||||
|
||||
--exec echo "restart: --wsrep-start-position=$galera_wsrep_start_position1 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--exec echo "restart: --wsrep-start-position=$galera_wsrep_start_position2 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--write_line "restart: --wsrep-start-position=$galera_wsrep_start_position1 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart: --wsrep-start-position=$galera_wsrep_start_position2 --wsrep_cluster_address=gcomm://127.0.0.1:$NODE_GALERAPORT_1,127.0.0.1:$NODE_GALERAPORT_2" $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
|
||||
--sleep 5
|
||||
--connection node_1
|
||||
|
@@ -62,7 +62,7 @@ SELECT * FROM t1;
|
||||
--let $start_mysqld_params=--galera-unknown-option
|
||||
|
||||
--echo Starting server ...
|
||||
--exec echo "try:$start_mysqld_params" > $_expect_file_name
|
||||
--write_line "try:$start_mysqld_params" $_expect_file_name
|
||||
|
||||
# Sleep to ensure that server exited...
|
||||
|
||||
@@ -107,7 +107,7 @@ SELECT * FROM t1;
|
||||
--let $start_mysqld_params=--galera-unknown-option
|
||||
|
||||
--echo Starting server ...
|
||||
--exec echo "try:$start_mysqld_params" > $_expect_file_name
|
||||
--write_line "try:$start_mysqld_params" $_expect_file_name
|
||||
|
||||
# Sleep to ensure that server exited...
|
||||
|
||||
|
@@ -36,7 +36,7 @@ SET DEBUG_SYNC = "now WAIT_FOR sync_point_reached";
|
||||
# Restart without waiting. The UPDATE should block FTWRL on node_1,
|
||||
# so the SST cannot be completed and node_2 cannot join before
|
||||
# UPDATE connection is signalled to continue.
|
||||
--exec echo "restart:$start_mysqld_params" > $_expect_file_name
|
||||
--write_line "restart:$start_mysqld_params" $_expect_file_name
|
||||
# If the bug is present, FTWRL times out on node_1 in couple of
|
||||
# seconds and node_2 fails to join.
|
||||
--sleep 10
|
||||
|
@@ -17,7 +17,7 @@ SET GLOBAL debug_dbug="d,crash_last_fragment_commit_after_fragment_removal";
|
||||
|
||||
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
|
||||
--exec echo "wait" > $_expect_file_name
|
||||
--write_line wait $_expect_file_name
|
||||
|
||||
CREATE TABLE t1 (f1 VARCHAR(30)) ENGINE=InnoDB;
|
||||
|
||||
|
@@ -70,7 +70,7 @@ let $orig_table_id = `SELECT table_id
|
||||
WHERE name = 'test/t1'`;
|
||||
|
||||
# Write file to make mysql-test-run.pl expect crash
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
--error 2013
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
|
||||
@@ -110,7 +110,7 @@ let $orig_table_id = `SELECT table_id
|
||||
WHERE name = 'test/t2'`;
|
||||
|
||||
# Write file to make mysql-test-run.pl expect crash
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
--error 2013
|
||||
ALTER TABLE t2 ADD PRIMARY KEY (f2, f1);
|
||||
@@ -150,7 +150,7 @@ let $orig_table_id = `select table_id from
|
||||
information_schema.innodb_sys_tables where name = 'test/t1'`;
|
||||
|
||||
# Write file to make mysql-test-run.pl expect crash
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
#
|
||||
--error 2013
|
||||
ALTER TABLE t1 ADD INDEX (b), CHANGE c d int, ALGORITHM=INPLACE;
|
||||
|
@@ -18,7 +18,7 @@ INSERT INTO t1(b) VALUES('one'), ('two'), ('three');
|
||||
|
||||
--echo #
|
||||
--echo # Create a file called MYSQLD_DATADIR/test/t1.ibd
|
||||
--exec echo "This is not t1.ibd" > $MYSQLD_DATADIR/test/t1.ibd
|
||||
--write_line "This is not t1.ibd" $MYSQLD_DATADIR/test/t1.ibd
|
||||
|
||||
--echo # Directory listing of test/*.ibd
|
||||
--echo #
|
||||
|
@@ -45,7 +45,7 @@ commit work;
|
||||
# Slow shutdown and restart to make sure ibuf merge is finished
|
||||
SET GLOBAL innodb_fast_shutdown = 0;
|
||||
let $shutdown_timeout=;
|
||||
let $restart_parameters="--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0";
|
||||
let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0;
|
||||
--source include/restart_mysqld.inc
|
||||
--source ../include/no_checkpoint_start.inc
|
||||
begin;
|
||||
@@ -95,7 +95,7 @@ select f1, f2 from t1;
|
||||
--echo # Test Begin: Test if recovery works if 1st page of
|
||||
--echo # system tablespace is corrupted and 2nd page as corrupted.
|
||||
|
||||
let $restart_parameters="--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0";
|
||||
let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0;
|
||||
--source include/restart_mysqld.inc
|
||||
--source ../include/no_checkpoint_start.inc
|
||||
begin;
|
||||
|
@@ -51,7 +51,7 @@ while ($numtests)
|
||||
START TRANSACTION;
|
||||
insert into t1 select * from t2;
|
||||
# Write file to make mysql-test-run.pl expect crash
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
eval call setcrash($numtests);
|
||||
|
||||
|
@@ -51,7 +51,7 @@ while ($numtests)
|
||||
START TRANSACTION;
|
||||
insert into t1 select * from t2;
|
||||
# Write file to make mysql-test-run.pl expect crash
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
eval call setcrash($numtests);
|
||||
|
||||
|
@@ -35,7 +35,7 @@ let datadir= `select @@datadir`;
|
||||
CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
|
||||
SET debug_dbug='+d,innodb_alter_commit_crash_before_commit';
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
--error 2013
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
|
||||
|
@@ -23,14 +23,14 @@ alter table t1 add primary key (pk);
|
||||
|
||||
--echo # Stop the server, replace the frm with the old one and restart the server
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
--remove_file $datadir/test/t1.frm
|
||||
--copy_file $MYSQLTEST_VARDIR/tmp/t1.frm $datadir/test/t1.frm
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
|
@@ -43,7 +43,7 @@ INSERT INTO t1 VALUES(1),(2),(3);
|
||||
--let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
|
||||
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
|
||||
|
||||
--exec echo wait > $_expect_file_name
|
||||
--write_line wait $_expect_file_name
|
||||
SET SESSION debug_dbug="+d,ib_discard_before_commit_crash";
|
||||
--error 2013
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
@@ -57,7 +57,7 @@ SET GLOBAL innodb_file_per_table = 1;
|
||||
CREATE TABLE t1 (c1 INT) ENGINE = InnoDB;
|
||||
INSERT INTO t1 VALUES(1),(2),(3);
|
||||
|
||||
--exec echo wait > $_expect_file_name
|
||||
--write_line wait $_expect_file_name
|
||||
SET SESSION debug_dbug="+d,ib_discard_after_commit_crash";
|
||||
--error 2013
|
||||
ALTER TABLE t1 DISCARD TABLESPACE;
|
||||
@@ -101,7 +101,7 @@ EOF
|
||||
--error ER_TABLESPACE_DISCARDED
|
||||
SELECT * FROM t1;
|
||||
|
||||
--exec echo wait > $_expect_file_name
|
||||
--write_line wait $_expect_file_name
|
||||
SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
|
||||
--error 2013
|
||||
ALTER TABLE t1 IMPORT TABLESPACE;
|
||||
|
@@ -58,7 +58,7 @@ SELECT * FROM bug_60196;
|
||||
--echo # Restart server.
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Turn on reconnect
|
||||
--enable_reconnect
|
||||
@@ -132,7 +132,7 @@ SELECT * FROM Bug_60309;
|
||||
--echo # Restart server.
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Turn on reconnect
|
||||
--enable_reconnect
|
||||
|
@@ -207,7 +207,7 @@ print FILE "\0" x 16384;
|
||||
close(FILE);
|
||||
EOF
|
||||
|
||||
--exec echo "" > $MYSQLD_DATADIR/test/u2.ibd
|
||||
--write_line "" $MYSQLD_DATADIR/test/u2.ibd
|
||||
|
||||
--copy_file $MYSQLD_DATADIR/test/u6.ibd $MYSQLD_DATADIR/test/u4.ibd
|
||||
|
||||
|
@@ -135,7 +135,7 @@ AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||
# We cannot use include/restart_mysqld.inc in this particular test,
|
||||
# because SHOW STATUS would fail due to unwritable (nonexistent) tmpdir.
|
||||
--source include/shutdown_mysqld.inc
|
||||
--exec echo "restart: --tmpdir=/dev/null/$MYSQL_TMP_DIR --skip-innodb-fast-shutdown" > $_expect_file_name
|
||||
--write_line "restart: --tmpdir=/dev/null/$MYSQL_TMP_DIR --skip-innodb-fast-shutdown" $_expect_file_name
|
||||
--enable_reconnect
|
||||
--disable_result_log
|
||||
--disable_query_log
|
||||
|
@@ -12,7 +12,7 @@ insert into t1 values (1, 1);
|
||||
# Slow shutdown and restart to make sure ibuf merge is finished
|
||||
SET GLOBAL innodb_fast_shutdown = 0;
|
||||
let $shutdown_timeout=;
|
||||
let $restart_parameters="--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0";
|
||||
let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0;
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
--source ../include/no_checkpoint_start.inc
|
||||
|
@@ -115,7 +115,7 @@ CREATE TABLE t1 (
|
||||
|
||||
INSERT INTO t1(title) VALUES('database');
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
SET debug_dbug = '+d,fts_instrument_sync_debug,fts_write_node_crash';
|
||||
|
||||
|
@@ -463,7 +463,7 @@ rollback;
|
||||
|
||||
# Test partial update rollback after recovered.
|
||||
# Crash the server in partial update.
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
set session debug="+d,row_mysql_crash_if_error";
|
||||
--error 2013
|
||||
update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3;
|
||||
|
@@ -412,13 +412,13 @@ SHOW CREATE TABLE t77_restart;
|
||||
--echo # Moving tablespace 't4_restart' from MYSQL_DATA_DIR to MYSQL_TMP_DIR/new_dir
|
||||
--copy_file $MYSQL_DATA_DIR/test/t4_restart.ibd $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd
|
||||
--remove_file $MYSQL_DATA_DIR/test/t4_restart.ibd
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd > $MYSQL_DATA_DIR/test/t4_restart.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd $MYSQL_DATA_DIR/test/t4_restart.isl
|
||||
|
||||
--echo # Moving tablespace 't55_restart' from MYSQL_TMP_DIR/alt_dir to MYSQL_TMP_DIR/new_dir
|
||||
--copy_file $MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd $MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd
|
||||
--remove_file $MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
|
||||
--remove_file $MYSQL_DATA_DIR/test/t55_restart.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd > $MYSQL_DATA_DIR/test/t55_restart.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd $MYSQL_DATA_DIR/test/t55_restart.isl
|
||||
|
||||
--echo # Moving tablespace 't66_restart' from MYSQL_TMP_DIR/alt_dir to MYSQL_TMP_DIR/new_dir
|
||||
--copy_file $MYSQL_TMP_DIR/alt_dir/test/t66_restart#P#p0.ibd $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p0.ibd
|
||||
@@ -430,9 +430,9 @@ SHOW CREATE TABLE t77_restart;
|
||||
--remove_file $MYSQL_DATA_DIR/test/t66_restart#P#p0.isl
|
||||
--remove_file $MYSQL_DATA_DIR/test/t66_restart#P#p1.isl
|
||||
--remove_file $MYSQL_DATA_DIR/test/t66_restart#P#p2.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p0.ibd > $MYSQL_DATA_DIR/test/t66_restart#P#p0.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p1.ibd > $MYSQL_DATA_DIR/test/t66_restart#P#p1.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p2.ibd > $MYSQL_DATA_DIR/test/t66_restart#P#p2.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p0.ibd $MYSQL_DATA_DIR/test/t66_restart#P#p0.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p1.ibd $MYSQL_DATA_DIR/test/t66_restart#P#p1.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t66_restart#P#p2.ibd $MYSQL_DATA_DIR/test/t66_restart#P#p2.isl
|
||||
|
||||
--echo # Moving tablespace 't77_restart' from MYSQL_TMP_DIR/alt_dir to MYSQL_TMP_DIR/new_dir
|
||||
--copy_file $MYSQL_TMP_DIR/alt_dir/test/t77_restart#P#p0#SP#s0.ibd $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s0.ibd
|
||||
@@ -447,10 +447,10 @@ SHOW CREATE TABLE t77_restart;
|
||||
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s1.isl
|
||||
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s2.isl
|
||||
--remove_file $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s0.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s0.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s1.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s1.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s2.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s2.isl
|
||||
--exec echo $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s3.ibd > $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s0.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s0.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p0#SP#s1.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p0#SP#s1.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s2.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s2.isl
|
||||
--write_line $MYSQL_TMP_DIR/new_dir/test/t77_restart#P#p1#SP#s3.ibd $MYSQL_DATA_DIR/test/t77_restart#P#p1#SP#s3.isl
|
||||
|
||||
--echo ---- MYSQL_DATA_DIR/test
|
||||
--list_files_write_file $MYSQLD_DATADIR.files.txt $MYSQL_DATA_DIR/test
|
||||
|
@@ -75,7 +75,7 @@ SET SESSION debug_dbug="+d,ib_import_before_commit_crash";
|
||||
SELECT * FROM t1;
|
||||
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Execute the statement that causes the crash
|
||||
--error 2013
|
||||
@@ -96,7 +96,7 @@ SET SESSION debug_dbug="+d,ib_import_before_checkpoint_crash";
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
# Don't start up the server right away.
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Execute the statement that causes the crash
|
||||
--error 2013
|
||||
@@ -113,7 +113,7 @@ EOF
|
||||
|
||||
--echo # Restart and reconnect to the server
|
||||
--enable_reconnect
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--disable_reconnect
|
||||
|
||||
|
@@ -3,6 +3,8 @@
|
||||
|
||||
--source include/have_maria.inc
|
||||
--source include/default_charset.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
# Cleanup
|
||||
--disable_warnings
|
||||
@@ -13,7 +15,7 @@ DROP PROCEDURE IF EXISTS proc_insert_many;
|
||||
# --------
|
||||
|
||||
# Configure encryption
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
@@ -21,7 +23,7 @@ DROP PROCEDURE IF EXISTS proc_insert_many;
|
||||
1;76025E3ADC78D74819927DB02AAA4C35
|
||||
EOF
|
||||
|
||||
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
@@ -73,7 +75,7 @@ CALL proc_insert_many();
|
||||
UNLOCK TABLES;
|
||||
|
||||
# Crash and restart the server while it's still flushing index
|
||||
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/key.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
SET debug_dbug="d,crash_shutdown";
|
||||
--error 2013
|
||||
shutdown;
|
||||
|
@@ -12,7 +12,7 @@
|
||||
#
|
||||
|
||||
# Write file to make mysql-test-run.pl expect crash and restart
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
create table t1 (a int primary key, b int, c int, unique key(b), key(c)) engine=aria transactional=1;
|
||||
insert into t1 values (1000,1000,1000);
|
||||
|
@@ -29,10 +29,10 @@ CREATE TABLE t1 (a INT KEY,b INT,KEY(b)) ENGINE=Aria;
|
||||
|
||||
--echo # Restart with encryption enabled
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
@@ -43,10 +43,10 @@ LOAD INDEX INTO CACHE t1;
|
||||
|
||||
# Restart without encryption. Above table should be unreadable
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
--exec echo "restart:--aria-encrypt-tables=0" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=0" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
|
@@ -9,7 +9,7 @@ call mtr.add_suppression("System key id 1 is missing");
|
||||
call mtr.add_suppression("Unknown key id 1");
|
||||
call mtr.add_suppression("Initialization of encryption failed.*");
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
@@ -17,14 +17,14 @@ call mtr.add_suppression("Initialization of encryption failed.*");
|
||||
1;770A8A65DA156D24EE2A093277530142
|
||||
EOF
|
||||
|
||||
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
CREATE TABLE t1 (i INT, KEY(i)) ENGINE=Aria;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
@@ -32,7 +32,7 @@ INSERT INTO t1 VALUES (1);
|
||||
2;770A8A65DA156D24EE2A093277530143
|
||||
EOF
|
||||
|
||||
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys2.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
@@ -43,11 +43,11 @@ repair table t1;
|
||||
--error HA_ERR_NO_ENCRYPTION
|
||||
INSERT INTO t1 VALUES (2);
|
||||
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
--exec echo "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--aria-encrypt-tables=1 --plugin-load-add=file_key_management --file-key-management --file-key-management-filename=$MYSQLTEST_VARDIR/keys1.txt" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
SHOW CREATE TABLE t1;
|
||||
--sorted_result
|
||||
SELECT * FROM t1;
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--disable_reconnect
|
||||
# CR_SERVER_LOST
|
||||
--error 2013
|
||||
@@ -22,7 +22,7 @@ SELECT * FROM t1;
|
||||
--replace_regex /sql-exchange.*\./sql-exchange./ /sql-shadow-[0-9a-f]*-/sql-shadow-/
|
||||
--cat_file $DATADIR.files.txt
|
||||
--remove_file $DATADIR.files.txt
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--echo # State after crash recovery
|
||||
|
@@ -13,7 +13,7 @@ let $error_log= $MYSQLTEST_VARDIR/log/my_restart.err;
|
||||
let SEARCH_FILE= $error_log;
|
||||
# Stop the server
|
||||
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
--error 7
|
||||
@@ -61,7 +61,7 @@ let SEARCH_PATTERN= Can.t change dir to .*bad_option_h_param;
|
||||
|
||||
--remove_file $error_log
|
||||
# Write file to make mysql-test-run.pl start up the server again
|
||||
--exec echo "restart" > $restart_file
|
||||
--write_line restart $restart_file
|
||||
|
||||
# Turn on reconnect
|
||||
--enable_reconnect
|
||||
|
@@ -23,7 +23,7 @@ DROP TABLE performance_schema.processlist;
|
||||
SHOW CREATE TABLE performance_schema.processlist;
|
||||
|
||||
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--echo ##
|
||||
--echo ## Server shutdown
|
||||
--echo ##
|
||||
@@ -93,7 +93,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
--error ER_BAD_FIELD_ERROR
|
||||
SHOW PROCESSLIST;
|
||||
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--echo ##
|
||||
--echo ## Server shutdown
|
||||
--echo ##
|
||||
@@ -166,7 +166,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
# Works and returns no data, innodb table is empty.
|
||||
SHOW PROCESSLIST;
|
||||
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--echo ##
|
||||
--echo ## Server shutdown
|
||||
--echo ##
|
||||
@@ -231,7 +231,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
# Works and returns no data, innodb table is empty.
|
||||
SHOW PROCESSLIST;
|
||||
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--echo ##
|
||||
--echo ## Server shutdown
|
||||
--echo ##
|
||||
@@ -306,7 +306,7 @@ SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
|
||||
--replace_column 3 [HOST:PORT] 6 [TIME]
|
||||
SHOW PROCESSLIST;
|
||||
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--echo ##
|
||||
--echo ## Server shutdown
|
||||
--echo ##
|
||||
|
@@ -69,7 +69,7 @@ SELECT * FROM performance_schema.setup_instruments
|
||||
WHERE name like "%wait/io/table/sql/handler%";
|
||||
|
||||
# Write file to make mysql-test-run.pl wait for the server to stop
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Restart the server
|
||||
--echo #
|
||||
@@ -79,7 +79,7 @@ WHERE name like "%wait/io/table/sql/handler%";
|
||||
|
||||
--echo # Restart server with wait/io/table/sql/handler disabled
|
||||
|
||||
--exec echo "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
# Turn on reconnect
|
||||
--echo # Enable reconnect
|
||||
|
@@ -19,10 +19,10 @@
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
|
||||
--exec echo "wait" > $restart_file
|
||||
--write_line wait $restart_file
|
||||
--shutdown_server
|
||||
--source include/wait_until_disconnected.inc
|
||||
--exec echo "restart:--performance_schema_max_program_instances=7 --performance_schema_max_statement_stack=2 --thread_stack=655360">$restart_file
|
||||
--write_line "restart:--performance_schema_max_program_instances=7 --performance_schema_max_statement_stack=2 --thread_stack=655360" $restart_file
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
|
||||
|
@@ -122,6 +122,31 @@ connection slave;
|
||||
# Slave_skipped_errros = 5
|
||||
**** We cannot execute a select as there are differences in the
|
||||
**** behavior between STMT and RBR.
|
||||
****
|
||||
**** Ensure transactions which are skipped due to encountering a
|
||||
**** non-deadlock error which is present in --slave-skip-errors result
|
||||
**** in partially committed transactions
|
||||
connection master;
|
||||
CREATE TABLE t3 (a INT UNIQUE) ENGINE=InnoDB;
|
||||
connection slave;
|
||||
connection slave;
|
||||
INSERT INTO t3 VALUES (3);
|
||||
connection master;
|
||||
BEGIN;
|
||||
INSERT INTO t3 VALUES (1);
|
||||
INSERT INTO t3 VALUES (2);
|
||||
INSERT INTO t3 VALUES (3);
|
||||
INSERT INTO t3 VALUES (4);
|
||||
COMMIT;
|
||||
connection slave;
|
||||
**** Master and slave tables should have the same data, due to the
|
||||
**** partially replicated transaction's data overlapping with the data
|
||||
**** that pre-existed on the slave. That is, despite the transaction
|
||||
**** consisting of 4 statements, the errored statement should be ignored
|
||||
**** and the other 3 should commit successfully.
|
||||
include/diff_tables.inc [master:t3,slave:t3]
|
||||
connection master;
|
||||
DROP TABLE t3;
|
||||
==== Clean Up ====
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
|
64
mysql-test/suite/rpl/r/rpl_temporary_error2_skip_all.result
Normal file
64
mysql-test/suite/rpl/r/rpl_temporary_error2_skip_all.result
Normal file
@@ -0,0 +1,64 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
|
||||
*** Provoke a deadlock on the slave, check that transaction retry succeeds. ***
|
||||
connection master;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1(a) VALUES (1), (2), (3), (4), (5);
|
||||
connection slave;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
3 NULL
|
||||
4 NULL
|
||||
5 NULL
|
||||
SET sql_log_bin=0;
|
||||
ALTER TABLE t2 ENGINE=MyISAM;
|
||||
SET sql_log_bin=1;
|
||||
connect con_temp1,127.0.0.1,root,,test,$SERVER_MYPORT_2,;
|
||||
connection con_temp1;
|
||||
BEGIN;
|
||||
UPDATE t1 SET b=2 WHERE a=4;
|
||||
INSERT INTO t2 VALUES (2);
|
||||
DELETE FROM t2 WHERE a=2;
|
||||
connection master;
|
||||
BEGIN;
|
||||
UPDATE t1 SET b=1 WHERE a=2;
|
||||
INSERT INTO t2 VALUES (1);
|
||||
UPDATE t1 SET b=1 WHERE a=4;
|
||||
COMMIT;
|
||||
connection slave;
|
||||
connection con_temp1;
|
||||
UPDATE t1 SET b=2 WHERE a=2;
|
||||
SELECT * FROM t1 WHERE a<10 ORDER BY a;
|
||||
a b
|
||||
1 NULL
|
||||
2 2
|
||||
3 NULL
|
||||
4 2
|
||||
5 NULL
|
||||
ROLLBACK;
|
||||
Warnings:
|
||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||
connection slave;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 NULL
|
||||
2 NULL
|
||||
3 NULL
|
||||
4 NULL
|
||||
5 NULL
|
||||
* There will be one row in t2 because the ignored deadlock does not retry.
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a
|
||||
1
|
||||
retries
|
||||
0
|
||||
Last_SQL_Errno = '0'
|
||||
Last_SQL_Error = ''
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
include/rpl_end.inc
|
@@ -42,7 +42,7 @@ insert into ti set a=null;
|
||||
insert into tm set a=null;
|
||||
|
||||
set @@global.debug_dbug="+d,crash_before_send_xid";
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
|
||||
connection slave;
|
||||
let $do_domain_ids_before= query_get_value(SHOW SLAVE STATUS, Replicate_Do_Domain_Ids, 1);
|
||||
@@ -64,7 +64,7 @@ connection master;
|
||||
--enable_reconnect
|
||||
--let $rpl_server_number=1
|
||||
--source include/rpl_start_server.inc
|
||||
#--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
#--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
--source include/wait_until_connected_again.inc
|
||||
--echo # Master has restarted successfully
|
||||
save_master_pos;
|
||||
|
@@ -47,7 +47,7 @@ RESET SLAVE;
|
||||
--echo #
|
||||
|
||||
--let $datadir = `select @@datadir`
|
||||
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--shutdown_server 10
|
||||
--source include/wait_until_disconnected.inc
|
||||
|
||||
@@ -64,7 +64,7 @@ RESET SLAVE;
|
||||
--echo # Restart slave server
|
||||
--echo #
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--enable_reconnect
|
||||
--source include/wait_until_connected_again.inc
|
||||
SET @save_slave_parallel_threads= @@GLOBAL.slave_parallel_threads;
|
||||
|
@@ -3,7 +3,11 @@
|
||||
# Verify that --slave-skip-errors works correctly. The error messages
|
||||
# specified by --slave-skip-errors on slave should be ignored. If
|
||||
# such errors occur, they should not be reported and not cause the
|
||||
# slave to stop.
|
||||
# slave to stop. If a skipped-due-to-error statement is a part of a
|
||||
# larger transaction, and the error is not a deadlock error, the rest
|
||||
# of the transaction should still commit, with just the errored statement
|
||||
# ignored (note transactions which are skipped due to deadlocks are
|
||||
# rolled back fully, see rpl_temporary_error2_skip_all.test).
|
||||
#
|
||||
# ==== Method ====
|
||||
#
|
||||
@@ -164,6 +168,42 @@ let $current_skipped_error= query_get_value(show global status like "Slave_skipp
|
||||
--echo **** We cannot execute a select as there are differences in the
|
||||
--echo **** behavior between STMT and RBR.
|
||||
|
||||
|
||||
--echo ****
|
||||
--echo **** Ensure transactions which are skipped due to encountering a
|
||||
--echo **** non-deadlock error which is present in --slave-skip-errors result
|
||||
--echo **** in partially committed transactions
|
||||
# Slave will insert 3 first, and master will insert 3 within a larger trx
|
||||
--let $value_preexisting_on_slave= 3
|
||||
|
||||
--connection master
|
||||
CREATE TABLE t3 (a INT UNIQUE) ENGINE=InnoDB;
|
||||
|
||||
--sync_slave_with_master
|
||||
--connection slave
|
||||
--eval INSERT INTO t3 VALUES ($value_preexisting_on_slave)
|
||||
|
||||
--connection master
|
||||
BEGIN;
|
||||
INSERT INTO t3 VALUES (1);
|
||||
INSERT INTO t3 VALUES (2);
|
||||
--eval INSERT INTO t3 VALUES ($value_preexisting_on_slave)
|
||||
INSERT INTO t3 VALUES (4);
|
||||
COMMIT;
|
||||
--sync_slave_with_master
|
||||
|
||||
--echo **** Master and slave tables should have the same data, due to the
|
||||
--echo **** partially replicated transaction's data overlapping with the data
|
||||
--echo **** that pre-existed on the slave. That is, despite the transaction
|
||||
--echo **** consisting of 4 statements, the errored statement should be ignored
|
||||
--echo **** and the other 3 should commit successfully.
|
||||
let $diff_tables=master:t3,slave:t3;
|
||||
source include/diff_tables.inc;
|
||||
|
||||
--connection master
|
||||
DROP TABLE t3;
|
||||
|
||||
|
||||
--echo ==== Clean Up ====
|
||||
|
||||
connection master;
|
||||
|
@@ -82,7 +82,7 @@ print FILE "failure";
|
||||
close ($file);
|
||||
EOF
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
|
||||
--error 2013
|
||||
FLUSH LOGS;
|
||||
@@ -130,7 +130,7 @@ print FILE @content;
|
||||
close FILE;
|
||||
EOF
|
||||
|
||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
--write_line restart $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
|
||||
SET SESSION debug_dbug="d,crash_before_rotate_relaylog";
|
||||
--error 2013
|
||||
FLUSH LOGS;
|
||||
|
@@ -64,7 +64,14 @@ ROLLBACK;
|
||||
--connection slave
|
||||
--sync_with_master
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
--echo * There will be two rows in t2 due to the retry.
|
||||
if (!$ignored_db_deadlock)
|
||||
{
|
||||
--echo * There will be two rows in t2 due to the retry.
|
||||
}
|
||||
if ($ignored_db_deadlock)
|
||||
{
|
||||
--echo * There will be one row in t2 because the ignored deadlock does not retry.
|
||||
}
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
let $new_retry= query_get_value(SHOW STATUS LIKE 'Slave_retried_transactions', Value, 1);
|
||||
--disable_query_log
|
||||
|
@@ -0,0 +1 @@
|
||||
--slave-skip-errors=all
|
@@ -0,0 +1,3 @@
|
||||
--source include/have_binlog_format_row.inc
|
||||
--let $ignored_db_deadlock= 1
|
||||
--source rpl_temporary_error2.test
|
Reference in New Issue
Block a user