mirror of
https://github.com/MariaDB/server.git
synced 2025-07-18 23:03:28 +03:00
MDEV-13542 fixup: Improve a recovery error message
A message used to say "failed to read or decrypt"
but the "or decrypt" part was removed in
commit 0b47c126e3
without adjusting rarely needed error message suppressions in some
encryption tests.
Let us improve the error message so that it mentions the file name,
and adjust all error message suppressions in tests.
Thanks to Oleksandr Byelkin for noticing one test failure.
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted|does not exist.*is trying to rename)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted|does not exist.*is trying to rename)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
||||||
call mtr.add_suppression("InnoDB: Tablespace for table \`test\`.\`t1\` is set as discarded\\.");
|
call mtr.add_suppression("InnoDB: Tablespace for table \`test\`.\`t1\` is set as discarded\\.");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
||||||
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot decrypt \\[page id: space=");
|
call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot decrypt \\[page id: space=");
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
|
||||||
# Restart mysqld --file-key-management-filename=keys2.txt
|
# Restart mysqld --file-key-management-filename=keys2.txt
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
|
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
|
||||||
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
|
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
||||||
# Start server with keys2.txt
|
# Start server with keys2.txt
|
||||||
|
@ -2,7 +2,7 @@ call mtr.add_suppression("Plugin 'file_key_management'");
|
|||||||
call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
|
call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("InnoDB: File '.*test/t[1234]\\.ibd' is corrupted");
|
call mtr.add_suppression("InnoDB: File '.*test/t[1234]\\.ibd' is corrupted");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Unable to decompress .*.test.t[12]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
call mtr.add_suppression("InnoDB: Unable to decompress .*.test.t[12]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
||||||
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t[12]\\.ibd'");
|
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t[12]\\.ibd'");
|
||||||
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
|
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted|does not exist.*is trying to rename)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted|does not exist.*is trying to rename)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1(new)?\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
# Suppression for builds where file_key_management plugin is linked statically
|
# Suppression for builds where file_key_management plugin is linked statically
|
||||||
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
||||||
call mtr.add_suppression("InnoDB: Tablespace for table \`test\`.\`t1\` is set as discarded\\.");
|
call mtr.add_suppression("InnoDB: Tablespace for table \`test\`.\`t1\` is set as discarded\\.");
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t1\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
# Suppression for builds where file_key_management plugin is linked statically
|
# Suppression for builds where file_key_management plugin is linked statically
|
||||||
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
call mtr.add_suppression("Couldn't load plugins from 'file_key_management");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
call mtr.add_suppression("InnoDB: Unable to decompress ..test.t[1-3]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` is corrupted");
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` (has an unreadable root page|is corrupted)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[15]\\.ibd' cannot be decrypted\\.");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
|
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t[15].ibd looks corrupted; key_version=1");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t[15]` is corrupted");
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` (has an unreadable root page|is corrupted)");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[123]\\.ibd' cannot be decrypted\\.");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
|
call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file .*test.t[12].ibd looks corrupted; key_version=1");
|
||||||
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
call mtr.add_suppression("InnoDB: Table `test`\\.`t1` is corrupted");
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ call mtr.add_suppression("Plugin 'file_key_management'");
|
|||||||
call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
|
call mtr.add_suppression("Plugin 'InnoDB' init function returned error.");
|
||||||
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted; key_version=1");
|
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[1-4]\\.ibd' cannot be decrypted; key_version=1");
|
||||||
call mtr.add_suppression("InnoDB: File '.*test/t[1234]\\.ibd' is corrupted");
|
call mtr.add_suppression("InnoDB: File '.*test/t[1234]\\.ibd' is corrupted");
|
||||||
call mtr.add_suppression("failed to read or decrypt \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]");
|
call mtr.add_suppression("InnoDB: Recovery failed to read page");
|
||||||
call mtr.add_suppression("InnoDB: Unable to decompress .*.test.t[12]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
call mtr.add_suppression("InnoDB: Unable to decompress .*.test.t[12]\\.ibd\\[page id: space=[1-9][0-9]*, page number=[0-9]+\\]");
|
||||||
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t[12]\\.ibd'");
|
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed read of file '.*test.t[12]\\.ibd'");
|
||||||
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
|
call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'");
|
||||||
|
@ -41,6 +41,7 @@ Created 11/5/1995 Heikki Tuuri
|
|||||||
#include "os0file.h"
|
#include "os0file.h"
|
||||||
#include "srv0start.h"
|
#include "srv0start.h"
|
||||||
#include "srv0srv.h"
|
#include "srv0srv.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
/** If there are buf_pool.curr_size per the number below pending reads, then
|
/** If there are buf_pool.curr_size per the number below pending reads, then
|
||||||
read-ahead is not done: this is to prevent flooding the buffer pool with
|
read-ahead is not done: this is to prevent flooding the buffer pool with
|
||||||
@ -712,12 +713,13 @@ void buf_read_recv_pages(ulint space_id, const uint32_t* page_nos, ulint n)
|
|||||||
true);
|
true);
|
||||||
|
|
||||||
if (err != DB_SUCCESS) {
|
if (err != DB_SUCCESS) {
|
||||||
ib::error() << "Recovery failed to read "
|
sql_print_error("InnoDB: Recovery failed to read page "
|
||||||
<< cur_page_id;
|
UINT32PF " from %s",
|
||||||
|
cur_page_id.page_no(),
|
||||||
|
space->chain.start->name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DBUG_PRINT("ib_buf", ("recovery read (%u pages) for %s", n,
|
DBUG_PRINT("ib_buf", ("recovery read (%u pages) for %s", n,
|
||||||
space->chain.start->name));
|
space->chain.start->name));
|
||||||
space->release();
|
space->release();
|
||||||
|
Reference in New Issue
Block a user