mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
srv0start.c, trx0sys.c:
Let InnoDB to skip writing of pages from the doublewrite buffer if innodb_force_recovery=6; normally, if the page is corrupt AND the corresponding page in the doublewrite buffer is also corrupt, InnoDB calls exit(1) innobase/trx/trx0sys.c: Let InnoDB to skip writing of pages from the doublewrite buffer if innodb_force_recovery=6; normally, if the page is corrupt AND the corresponding page in the doublewrite buffer is also corrupt, InnoDB calls exit(1) innobase/srv/srv0start.c: Let InnoDB to skip writing of pages from the doublewrite buffer if innodb_force_recovery=6; normally, if the page is corrupt AND the corresponding page in the doublewrite buffer is also corrupt, InnoDB calls exit(1)
This commit is contained in:
parent
6b14b0de14
commit
ce50dd42d8
2 changed files with 15 additions and 3 deletions
|
|
@ -1168,7 +1168,10 @@ innobase_start_or_create_for_mysql(void)
|
|||
and restore them from the doublewrite buffer if
|
||||
possible */
|
||||
|
||||
trx_sys_doublewrite_restore_corrupt_pages();
|
||||
if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
|
||||
|
||||
trx_sys_doublewrite_restore_corrupt_pages();
|
||||
}
|
||||
}
|
||||
|
||||
srv_normalize_path_for_win(srv_arch_dir);
|
||||
|
|
|
|||
|
|
@ -340,7 +340,6 @@ trx_sys_doublewrite_restore_corrupt_pages(void)
|
|||
|
||||
/* It is an unwritten doublewrite buffer page:
|
||||
do nothing */
|
||||
|
||||
} else {
|
||||
/* Read in the actual page from the data files */
|
||||
|
||||
|
|
@ -357,9 +356,19 @@ trx_sys_doublewrite_restore_corrupt_pages(void)
|
|||
"InnoDB: Trying to recover it from the doublewrite buffer.\n");
|
||||
|
||||
if (buf_page_is_corrupted(page)) {
|
||||
fprintf(stderr,
|
||||
"InnoDB: Dump of the page:\n");
|
||||
buf_page_print(read_buf);
|
||||
fprintf(stderr,
|
||||
"InnoDB: Dump of corresponding page in doublewrite buffer:\n");
|
||||
buf_page_print(page);
|
||||
|
||||
fprintf(stderr,
|
||||
"InnoDB: Also the page in the doublewrite buffer is corrupt.\n"
|
||||
"InnoDB: Cannot continue operation.\n");
|
||||
"InnoDB: Cannot continue operation.\n"
|
||||
"InnoDB: You can try to recover the database with the my.cnf\n"
|
||||
"InnoDB: option:\n"
|
||||
"InnoDB: set-variable=innodb_force_recovery=6\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue