Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
9c161ab
Cleanup: Merge recv_recovery_read_checkpoint() to srv_start()
dr-m Nov 12, 2025
1d1699e
Atomic doublewrite buffer creation
dr-m Dec 19, 2025
388b199
MDEV-37949: Introduce innodb_log_recovery_start, innodb_log_recovery_…
dr-m Nov 12, 2025
fa6bc68
WIP MDEV-37949: Implement innodb_log_archive, innodb_lsn_archived
dr-m Dec 4, 2025
8b09088
Replace some references to ib_logfile0
dr-m Dec 8, 2025
fb98e3d
Rename ib_logfile0 on SET GLOBAL innodb_log_archive
dr-m Dec 10, 2025
254bfaa
Write archived-format checkpoint, and almost recover it
dr-m Jan 8, 2026
d7fa86e
Write correct first checkpoint to subsequent archived log
dr-m Jan 9, 2026
17d4148
log_parse_file(): Do not invoke fil_name_process() during
dr-m Jan 9, 2026
2673d37
Fix mysql-test/mtr --mysqld=--loose-innodb-log-archive
dr-m Jan 12, 2026
209f0b2
Flag tests that require no_checkpoint_end.inc rewrite
dr-m Jan 12, 2026
5cc99f7
Flag some tests that require multi-file recovery
dr-m Jan 12, 2026
ae4b0fb
Implement some parameter validation
dr-m Jan 12, 2026
ccd6536
fixup! ae4b0fbce3b11e9d3eaef3a57630c7499a3c1a55
dr-m Jan 12, 2026
30116f4
Refine the innodb_encrypt_log format
dr-m Jan 13, 2026
02e799a
fixup! 30116f4c70078a0587b69afb3f55b16d1fe6c683
dr-m Jan 13, 2026
5cc0306
Allow memory-mapped reads of the archived log
dr-m Jan 13, 2026
3802dd1
fixup! 02e799ad7cf3c1fd2e2f710e82e77020ea6ce2e1
dr-m Jan 14, 2026
9a93371
Prepare for multi-file innodb_log_archive recovery
dr-m Jan 14, 2026
89d8e1a
More multi-file recovery preparation
dr-m Jan 14, 2026
c255e79
fixup! 89d8e1ad9c50dbd0f817ad7fa8159d5de4850445
dr-m Jan 15, 2026
0e5d4ef
Fix checkpoint handling
dr-m Jan 15, 2026
50143aa
WIP: multi-file recovery
dr-m Jan 15, 2026
94972b7
fixup! 0e5d4efc1b64b0427b03d9fadbc01bb658ab6d82
dr-m Jan 16, 2026
0366f66
Diagnose a Windows problem
dr-m Jan 16, 2026
e67615d
Fix innodb.log_file_size_online,encrypted and Windows
dr-m Jan 16, 2026
dbcc4d3
Revert "Diagnose a Windows problem"
dr-m Jan 16, 2026
38b11f3
fixup! 0e5d4efc1b64b0427b03d9fadbc01bb658ab6d82
dr-m Jan 16, 2026
d9cf9a5
Cleanup: this==&recv_sys
dr-m Jan 16, 2026
ce75f74
Steps towards multi-file recovery
dr-m Jan 16, 2026
ec19245
Fix log rotation
dr-m Jan 19, 2026
fbe6549
Refine the checkpoint switch
dr-m Jan 19, 2026
f720198
Relax the sequence bit handling
dr-m Jan 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions extra/mariabackup/backup_copy.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1772,7 +1772,7 @@ copy_back()
if it exists. */

ds_tmp = ds_create(dst_dir, DS_TYPE_LOCAL);
if (!(ret = copy_or_move_file(ds_tmp, LOG_FILE_NAME, LOG_FILE_NAME,
if (!(ret = copy_or_move_file(ds_tmp, "ib_logfile0", "ib_logfile0",
dst_dir, 1))) {
goto cleanup;
}
Expand Down Expand Up @@ -1869,7 +1869,7 @@ copy_back()
}

/* skip the redo log (it was already copied) */
if (!strcmp(filename, LOG_FILE_NAME)) {
if (!strcmp(filename, "ib_logfile0")) {
continue;
}

Expand Down
9 changes: 5 additions & 4 deletions extra/mariabackup/xtrabackup.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2705,7 +2705,7 @@ static bool innodb_init()
srv_log_group_home_dir= xtrabackup_target_dir;

bool ret;
const std::string ib_logfile0{get_log_file_path()};
const std::string ib_logfile0{log_sys.get_circular_path()};
os_file_delete_if_exists_func(ib_logfile0.c_str(), nullptr);
os_file_t file= os_file_create_func(ib_logfile0.c_str(),
OS_FILE_CREATE,
Expand Down Expand Up @@ -5569,10 +5569,11 @@ static bool xtrabackup_backup_func()

/* open the log file */
memset(&stat_info, 0, sizeof(MY_STAT));
dst_log_file = ds_open(backup_datasinks.m_redo, LOG_FILE_NAME, &stat_info);
dst_log_file =
ds_open(backup_datasinks.m_redo, "ib_logfile0", &stat_info);
if (dst_log_file == NULL) {
msg("Error: failed to open the target stream for '%s'.",
LOG_FILE_NAME);
msg("Error: failed to open the target stream"
" for 'ib_logfile0'.");
goto fail;
}

Expand Down
4 changes: 4 additions & 0 deletions mysql-test/include/innodb_encrypt_log.inc
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@
# (see include/innodb_encrypt_log.combinations)

--source include/have_innodb.inc
if ($MTR_COMBINATION_CRYPT)
{
--source ../suite/encryption/include/skip_innodb_log_archive.inc
}
4 changes: 2 additions & 2 deletions mysql-test/mariadb-test-run.pl
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ END
my $opt_debug_sync_timeout= 300; # Default timeout for WAIT_FOR actions.
my $warn_seconds = 60;

my $rebootstrap_re= '--innodb[-_](?:page[-_]size|checksum[-_]algorithm|undo[-_]tablespaces|log[-_]group[-_]home[-_]dir|data[-_]home[-_]dir)|data[-_]file[-_]path|force_rebootstrap';
my $rebootstrap_re= '--innodb[-_](?:page[-_]size|checksum[-_]algorithm|undo[-_]tablespaces|log[-_](group[-_]home[-_]dir|archive)|data[-_]home[-_]dir)|data[-_]file[-_]path|force_rebootstrap';

sub testcase_timeout ($) { return $opt_testcase_timeout * 60; }
sub check_timeout ($) { return testcase_timeout($_[0]); }
Expand Down Expand Up @@ -3145,7 +3145,7 @@ sub mysql_install_db {
# need to be given to the bootstrap process as well as the
# server process.
foreach my $extra_opt ( @opt_extra_mysqld_opt ) {
if ($extra_opt =~ /--innodb/) {
if ($extra_opt =~ /--((loose|skip)[-_])*innodb/) {
mtr_add_arg($args, $extra_opt);
}
}
Expand Down
12 changes: 12 additions & 0 deletions mysql-test/suite/encryption/include/skip_innodb_log_archive.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--disable_query_log
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed\\.");
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("InnoDB: ib_0.*\\.log does not match innodb_encrypt_log");
--enable_query_log
if (`SELECT COUNT(*)=0 FROM information_schema.global_variables where variable_name='innodb_log_archive' and variable_value='OFF'`)
{
--skip Test requires innodb_log_archive=OFF
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ AND support IN ('YES', 'DEFAULT', 'ENABLED');
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
FOUND 1 /InnoDB: Upgrade after a crash is not supported. This redo log was created before MariaDB 10\.2\.2, and we did not find a valid checkpoint/ in mysqld.1.err
# empty redo log from before MariaDB 10.2.2
# restart: --innodb-data-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-log-group-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-log-recovery-target=12345
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
COUNT(*)
0
FOUND 1 /InnoDB: cannot fulfill innodb_log_recovery_target=12345!=/ in mysqld.1.err
# restart: --innodb-data-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-log-group-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-force-recovery=5 --innodb-log-file-size=4m
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/bulk_insert.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source include/skip_innodb_log_archive.inc # innodb_encrypt_log
--source include/have_sequence.inc
--source include/have_file_key_management_plugin.inc

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source ../../suite/innodb/include/skip_innodb_log_archive.inc # FIXME
--source include/have_file_key_management_plugin.inc

--disable_query_log
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/debug_key_management.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_debug.inc
-- source include/innodb_undo_tablespaces.inc
-- source include/not_embedded.inc
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/doublewrite_debug.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source ../../suite/innodb/include/skip_innodb_log_archive.inc # FIXME
--source include/have_debug.inc
--source include/not_embedded.inc
--source include/have_file_key_management_plugin.inc
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/encrypt_and_grep.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/innodb_undo_tablespaces.inc
-- source include/have_file_key_management_plugin.inc

Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/encryption_force.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_partition.inc
-- source include/have_example_key_management_plugin.inc

Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/file_creation.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source ../../suite/innodb/include/skip_innodb_log_archive.inc # FIXME
--source include/have_example_key_management_plugin.inc
let $restart_noprint=2;
# embedded does not support restart
Expand Down
5 changes: 0 additions & 5 deletions mysql-test/suite/encryption/t/innodb-first-page-read.opt

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_file_key_management_plugin.inc
# not embedded because of restarts
-- source include/not_embedded.inc
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/not_embedded.inc
-- source include/have_file_key_management_plugin.inc

Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/innodb-redo-badkey.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
--source ../../suite/innodb/include/skip_innodb_log_archive.inc # FIXME
-- source include/have_file_key_management_plugin.inc
# embedded does not support restart
-- source include/not_embedded.inc
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/innodb-redo-nokeys.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
--source ../../suite/innodb/include/skip_innodb_log_archive.inc # FIXME
-- source include/have_file_key_management_plugin.inc
# embedded does not support restart
-- source include/not_embedded.inc
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/innodb_encrypt_freed.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
--source include/have_innodb.inc
--source include/skip_innodb_log_archive.inc # innodb_encrypt_log
--source include/have_example_key_management_plugin.inc
--source include/have_debug.inc
--source include/not_embedded.inc
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/innodb_encrypt_log.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/not_embedded.inc
-- source filekeys_plugin.inc

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
--source include/skip_innodb_log_archive.inc # innodb_encrypt_log
--let $no_cleanup=1
--source ../../innodb/t/log_corruption.test

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_example_key_management_plugin.inc
-- source include/not_embedded.inc
# This test is too slow for valgrind and causes innnodb semaphores to time out
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/innodb_encryption.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
#
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_example_key_management_plugin.inc
-- source include/innodb_undo_tablespaces.inc

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_example_key_management_plugin.inc
-- source include/not_valgrind.inc
-- source include/not_embedded.inc
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_example_key_management_plugin.inc
-- source include/not_embedded.inc
# We can't run this test under valgrind as it 'takes forever'
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/innodb_first_page.test
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#

--source include/have_innodb.inc
--source include/skip_innodb_log_archive.inc # innodb_encrypt_log
--source include/have_file_key_management_plugin.inc
--source include/innodb_undo_tablespaces.inc

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- source include/have_innodb.inc
-- source include/skip_innodb_log_archive.inc # innodb_encrypt_log
-- source include/have_file_key_management_plugin.inc
# test uses restart
-- source include/not_embedded.inc
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/encryption/t/recovery_memory.test
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
--source include/have_debug.inc
--source include/have_innodb.inc
--source include/skip_innodb_log_archive.inc # innodb_encrypt_log
--source include/have_sequence.inc
--source filekeys_plugin.inc

Expand Down
4 changes: 4 additions & 0 deletions mysql-test/suite/innodb/include/skip_innodb_log_archive.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
if (`SELECT @@GLOBAL.innodb_log_archive`)
{
--skip Test requires innodb_log_archive=OFF
}
10 changes: 8 additions & 2 deletions mysql-test/suite/innodb/r/corrupted_during_recovery.result
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
CREATE TABLE t1(a BIGINT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1(a BIGINT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=0;
INSERT INTO t1 VALUES(1);
SET GLOBAL innodb_max_purge_lag_wait=0, innodb_log_checkpoint_now=ON;
CREATE TABLE t2(a BIGINT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t1 VALUES(2);
SET GLOBAL innodb_flush_log_at_trx_commit=1;
INSERT INTO t2 VALUES(1);
# Kill the server
SELECT * FROM t2;
Got one of the listed errors
SELECT * FROM t2;
ERROR 42000: Unknown storage engine 'InnoDB'
FOUND 1 /InnoDB: impossible innodb_log_recovery_start=/ in mysqld.1.err
# Corrupt the pages
SELECT * FROM t1;
ERROR 42000: Unknown storage engine 'InnoDB'
FOUND 1 /InnoDB: Page \[page id: space=[1-9][0-9]*, page number=3\] log sequence number 1311768467463790320 is in the future!/ in mysqld.1.err
SELECT * FROM t1;
a
1
Expand All @@ -18,6 +23,7 @@ a
CHECK TABLE t2;
Table Op Msg_type Msg_text
test.t2 check status OK
FOUND 1 /InnoDB: Page \[page id: space=[1-9][0-9]*, page number=3\] log sequence number 1311768467463790320 is in the future!/ in mysqld.1.err
DROP TABLE t1, t2;
CREATE TABLE t1(pk SERIAL) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1),(2),(3);
Expand Down
25 changes: 23 additions & 2 deletions mysql-test/suite/innodb/r/innodb-wl5522,strict_crc32.rdiff
Original file line number Diff line number Diff line change
@@ -1,12 +1,33 @@
--- innodb-wl5522.result
+++ innodb-wl5522,strict_crc32.result~
@@ -131,8 +131,7 @@
@@ -1,9 +1,6 @@
call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\.");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
-call mtr.add_suppression("InnoDB: cannot fulfill innodb_log_recovery_target=123456<");
-call mtr.add_suppression("InnoDB: Plugin initialization aborted");
-call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed\\.");
FLUSH TABLES;
CREATE TABLE t1
(a INT AUTO_INCREMENT PRIMARY KEY,
@@ -37,10 +34,6 @@
t1.ibd
t2.frm
t2.ibd
-# restart: --innodb-log-recovery-target=123456
-FOUND 1 /InnoDB: cannot fulfill innodb_log_recovery_target=123456</ in mysqld.1.err
-FLUSH TABLE t1, t2 FOR EXPORT;
-ERROR 42000: Unknown storage engine 'InnoDB'
# restart
FLUSH TABLE t1, t2 FOR EXPORT;
# List before copying files
@@ -138,8 +131,7 @@
ALTER TABLE t2 IMPORT TABLESPACE;
ERROR HY000: Schema mismatch (Table flags don't match, server table has 0x21 and the meta-data file has 0x1; .cfg file uses ROW_FORMAT=COMPACT)
ALTER TABLE t2 IMPORT TABLESPACE;
-Warnings:
-Warning 1810 IO Read error: (2, No such file or directory) Error opening './test/t2.cfg', will attempt to import without schema verification
+ERROR HY000: Schema mismatch (Expected FSP_SPACE_FLAGS=0x*, .ibd file contains 0x*.)
DROP TABLE t2;
SET GLOBAL innodb_file_per_table = 1;
SELECT @@innodb_file_per_table;
@@innodb_file_per_table
7 changes: 7 additions & 0 deletions mysql-test/suite/innodb/r/innodb-wl5522.result
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
call mtr.add_suppression("InnoDB: Unable to import tablespace .* because it already exists. Please DISCARD the tablespace before IMPORT\\.");
call mtr.add_suppression("Index for table 't2' is corrupt; try to repair it");
call mtr.add_suppression("InnoDB: Cannot save statistics for table `test`\\.`t1` because the \\.ibd file is missing");
call mtr.add_suppression("InnoDB: cannot fulfill innodb_log_recovery_target=123456<");
call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed\\.");
FLUSH TABLES;
CREATE TABLE t1
(a INT AUTO_INCREMENT PRIMARY KEY,
Expand Down Expand Up @@ -34,6 +37,10 @@ t1.frm
t1.ibd
t2.frm
t2.ibd
# restart: --innodb-log-recovery-target=123456
FOUND 1 /InnoDB: cannot fulfill innodb_log_recovery_target=123456</ in mysqld.1.err
FLUSH TABLE t1, t2 FOR EXPORT;
ERROR 42000: Unknown storage engine 'InnoDB'
# restart
FLUSH TABLE t1, t2 FOR EXPORT;
# List before copying files
Expand Down
7 changes: 7 additions & 0 deletions mysql-test/suite/innodb/r/innodb_force_recovery.result
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ create table t2(f1 int primary key, f2 int, index idx(f2))engine=innodb;
insert into t1 values(1, 2);
insert into t2 values(1, 2);
SET GLOBAL innodb_fast_shutdown = 0;
# restart: --innodb-log-recovery-target=20480
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
COUNT(*)
0
FOUND 1 /InnoDB: cannot fulfill innodb_log_recovery_target=20480</ in mysqld.1.err
# restart: --innodb-force-recovery=4
select variable_name,variable_value from information_schema.global_status
WHERE variable_name LIKE 'innodb_buffer_pool_%_requests';
Expand Down
1 change: 1 addition & 0 deletions mysql-test/suite/innodb/r/innodb_status_variables.result
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ INNODB_LOG_WRITES
INNODB_LSN_CURRENT
INNODB_LSN_FLUSHED
INNODB_LSN_LAST_CHECKPOINT
INNODB_LSN_ARCHIVED
INNODB_MASTER_THREAD_ACTIVE_LOOPS
INNODB_MASTER_THREAD_IDLE_LOOPS
INNODB_MAX_TRX_ID
Expand Down
7 changes: 7 additions & 0 deletions mysql-test/suite/innodb/r/log_corruption.result
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ AND support IN ('YES', 'DEFAULT', 'ENABLED');
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
FOUND 1 /InnoDB: Upgrade after a crash is not supported. This redo log was created before MariaDB 10\.2\.2, and we did not find a valid checkpoint/ in mysqld.1.err
# empty redo log from before MariaDB 10.2.2
# restart: --innodb-data-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-log-group-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-log-recovery-target=12345
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
AND support IN ('YES', 'DEFAULT', 'ENABLED');
COUNT(*)
0
FOUND 1 /InnoDB: cannot fulfill innodb_log_recovery_target=12345!=/ in mysqld.1.err
# restart: --innodb-data-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-log-group-home-dir=MYSQLTEST_VARDIR/tmp/log_corruption --innodb-force-recovery=5 --innodb-log-file-size=4m
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
WHERE engine = 'innodb'
Expand Down
Loading