mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
The InnoDB write-ahead log ib_logfile0 is of fixed size, specified by innodb_log_file_size. If the tail of the log manages to overwrite the head (latest checkpoint) of the log, crash recovery will be broken. Let us clarify the messages about this, including adding a message on the completion of a log checkpoint that notes that the dangerous situation is over. To reproduce the dangerous scenario, we will introduce the debug injection label ib_log_checkpoint_avoid_hard, which will avoid log checkpoints even harder than the previous ib_log_checkpoint_avoid. log_t::overwrite_warned: The first known dangerous log sequence number. Set in log_close() and cleared in log_write_checkpoint_info(), which will output a "Crash recovery was broken" message.
10 lines
480 B
Text
10 lines
480 B
Text
@@ -30,6 +30,9 @@
|
|
# Space ID mismatch
|
|
# Restore the original tables
|
|
# Corrupt FIL_DATA+10 (data)
|
|
+# FOUND 1 is expected for both.
|
|
+FOUND 1 /InnoDB: Crash recovery is broken due to insufficient innodb_log_file_size; last checkpoint LSN=\d+, current LSN=\d+\. Shutdown is in progress\..*InnoDB: Crash recovery was broken.*/ in mysqld.1.err
|
|
+FOUND 1 /InnoDB: Crash recovery was broken/ in mysqld.1.err
|
|
# Run innochecksum on t2
|
|
# Run innochecksum on t3
|
|
# Run innochecksum on t6
|