summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-09-21 13:29:27 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-09-24 18:44:16 +0530
commit76972163711f965402d51055f081ab51ae4a3bb7 (patch)
treeb82ca24ec9ddd2a70b074012d6031902c723e1c8 /mysql-test
parentd95361107c07b6e8257a7a82c41b18af64ab8d89 (diff)
downloadmariadb-git-bb-10.6-MDEV-26631.tar.gz
MDEV-26631 InnoDB fails to fetch page from doublewrite bufferbb-10.6-MDEV-26631
Problem: ======== InnoDB fails to fetch the page0 from dblwr if page0 is corrupted.In that case, InnoDB defers the tablespace and doesn't find the INIT_PAGE redo log record for page0 and it leads to failure. Solution: ========= InnoDB should recover page0 from dblwr if space_id can be found for deferred tablespace.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/suite/innodb/r/doublewrite.result1
-rw-r--r--mysql-test/suite/innodb/t/doublewrite.test2
2 files changed, 3 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/r/doublewrite.result b/mysql-test/suite/innodb/r/doublewrite.result
index 234d58012d3..ba1965ed4cd 100644
--- a/mysql-test/suite/innodb/r/doublewrite.result
+++ b/mysql-test/suite/innodb/r/doublewrite.result
@@ -65,6 +65,7 @@ where name = 'test/t1';
# Ensure that dirty pages of table t1 is flushed.
flush tables t1 for export;
unlock tables;
+set global innodb_log_checkpoint_now=1;
begin;
insert into t1 values (6, repeat('%', 12));
# Make the first page dirty for table t1
diff --git a/mysql-test/suite/innodb/t/doublewrite.test b/mysql-test/suite/innodb/t/doublewrite.test
index cedd2c9942b..d8dac955348 100644
--- a/mysql-test/suite/innodb/t/doublewrite.test
+++ b/mysql-test/suite/innodb/t/doublewrite.test
@@ -159,6 +159,8 @@ where name = 'test/t1';
flush tables t1 for export;
unlock tables;
+set global innodb_log_checkpoint_now=1;
+
begin;
insert into t1 values (6, repeat('%', 12));