Stabilize innodb.redo_log_during_checkpoint

Externally kill and restart the server, and remove the
unreliable crash_after_checkpoint.
This commit is contained in:
Marko Mäkelä 2022-03-11 09:46:50 +02:00
parent 81523baac6
commit 5503c40460
3 changed files with 4 additions and 21 deletions

View file

@ -5,10 +5,7 @@ SET GLOBAL innodb_log_checkpoint_now = 1;
CREATE DATABASE very_long_database_name;
USE very_long_database_name;
SET debug_dbug = '+d,increase_mtr_checkpoint_size';
SET debug_dbug = '+d,crash_after_checkpoint';
set global innodb_log_checkpoint_now = 1;
ERROR HY000: Lost connection to MySQL server during query
# Skip MLOG_FILE_NAME redo records during recovery
DROP DATABASE very_long_database_name;
SET GLOBAL innodb_flush_sync=OFF;
SET GLOBAL innodb_page_cleaner_disabled_debug = 1;
@ -19,8 +16,5 @@ SET GLOBAL innodb_log_checkpoint_now = 1;
# exceeds LOG_CHECKPOINT_FREE_PER_THREAD size during checkpoint.
CREATE DATABASE very_long_database_name;
USE very_long_database_name;
SET debug_dbug = '+d,crash_after_checkpoint';
set global innodb_log_checkpoint_now = 1;
ERROR HY000: Lost connection to MySQL server during query
# Skip MLOG_FILE_NAME redo records during recovery
DROP DATABASE very_long_database_name;

View file

@ -3,9 +3,6 @@
--source include/big_test.inc
# Embedded server tests do not support restarting
--source include/not_embedded.inc
# We are crashing the server on purpose
--source include/not_valgrind.inc
--source include/not_crashrep.inc
# This often fails under MSAN builder due timing differences
--source include/not_msan.inc
@ -37,12 +34,10 @@ while ($i)
--exec echo "wait" > $_expect_file_name
SET debug_dbug = '+d,increase_mtr_checkpoint_size';
SET debug_dbug = '+d,crash_after_checkpoint';
--error 2013
set global innodb_log_checkpoint_now = 1;
--echo # Skip MLOG_FILE_NAME redo records during recovery
--source include/start_mysqld.inc
--let $restart_timeout=0
--source include/restart_mysqld.inc
DROP DATABASE very_long_database_name;
@ -67,13 +62,9 @@ while ($i)
}
--enable_query_log
--exec echo "wait" > $_expect_file_name
SET debug_dbug = '+d,crash_after_checkpoint';
--error 2013
set global innodb_log_checkpoint_now = 1;
--echo # Skip MLOG_FILE_NAME redo records during recovery
--let $restart_parameters = --debug-dbug=d,reduce_recv_parsing_buf
--source include/start_mysqld.inc
--source include/restart_mysqld.inc
DROP DATABASE very_long_database_name;

View file

@ -2,7 +2,7 @@
Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2009, Google Inc.
Copyright (c) 2014, 2021, MariaDB Corporation.
Copyright (c) 2014, 2022, MariaDB Corporation.
Portions of this file contain modifications contributed and copyrighted by
Google, Inc. Those modifications are gratefully acknowledged and are described
@ -968,8 +968,6 @@ ATTRIBUTE_COLD void log_write_checkpoint_info(lsn_t end_lsn)
MONITOR_INC(MONITOR_NUM_CHECKPOINT);
DBUG_EXECUTE_IF("crash_after_checkpoint", DBUG_SUICIDE(););
mysql_mutex_unlock(&log_sys.mutex);
}