summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-03-11 09:46:50 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2022-03-11 09:46:50 +0200
commit5503c4046053a2d0b8c4cd2d331d0bfa25b50e98 (patch)
tree15298b91acd1fd086b8b6e50bf1f577c9c0cd64f
parent81523baac6c021d1110c0316a68c20d76fddd02b (diff)
downloadmariadb-git-5503c4046053a2d0b8c4cd2d331d0bfa25b50e98.tar.gz
Stabilize innodb.redo_log_during_checkpoint
Externally kill and restart the server, and remove the unreliable crash_after_checkpoint.
-rw-r--r--mysql-test/suite/innodb/r/redo_log_during_checkpoint.result6
-rw-r--r--mysql-test/suite/innodb/t/redo_log_during_checkpoint.test15
-rw-r--r--storage/innobase/log/log0log.cc4
3 files changed, 4 insertions, 21 deletions
diff --git a/mysql-test/suite/innodb/r/redo_log_during_checkpoint.result b/mysql-test/suite/innodb/r/redo_log_during_checkpoint.result
index c7b4bb4403b..a924ff711da 100644
--- a/mysql-test/suite/innodb/r/redo_log_during_checkpoint.result
+++ b/mysql-test/suite/innodb/r/redo_log_during_checkpoint.result
@@ -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;
diff --git a/mysql-test/suite/innodb/t/redo_log_during_checkpoint.test b/mysql-test/suite/innodb/t/redo_log_during_checkpoint.test
index 40b412ac9bb..0119089f688 100644
--- a/mysql-test/suite/innodb/t/redo_log_during_checkpoint.test
+++ b/mysql-test/suite/innodb/t/redo_log_during_checkpoint.test
@@ -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;
diff --git a/storage/innobase/log/log0log.cc b/storage/innobase/log/log0log.cc
index cee2fa978ab..a03e79d27d8 100644
--- a/storage/innobase/log/log0log.cc
+++ b/storage/innobase/log/log0log.cc
@@ -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);
}