Commit cff9939d authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-30068 Confusing error message when encryption is not available on recovery

fil_name_process(): If fil_ibd_load() returns FIL_LOAD_INVALID,
display the file name and the tablespace identifier.
parent 4e5e8166
call mtr.add_suppression("mariadbd.*: File .*"); call mtr.add_suppression("mariadbd.*: File ");
call mtr.add_suppression("Plugin 'file_key_management' .*"); call mtr.add_suppression("Plugin 'file_key_management' ");
call mtr.add_suppression("InnoDB: We do not continue the crash recovery"); call mtr.add_suppression("InnoDB: Recovery cannot access file");
call mtr.add_suppression("InnoDB: Plugin initialization aborted"); call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\."); call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\.");
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
# embedded does not support restart # embedded does not support restart
-- source include/not_embedded.inc -- source include/not_embedded.inc
call mtr.add_suppression("mariadbd.*: File .*"); call mtr.add_suppression("mariadbd.*: File ");
call mtr.add_suppression("Plugin 'file_key_management' .*"); call mtr.add_suppression("Plugin 'file_key_management' ");
call mtr.add_suppression("InnoDB: We do not continue the crash recovery"); call mtr.add_suppression("InnoDB: Recovery cannot access file");
call mtr.add_suppression("InnoDB: Plugin initialization aborted"); call mtr.add_suppression("InnoDB: Plugin initialization aborted");
call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\."); call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\.");
call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed.");
......
...@@ -879,35 +879,22 @@ fil_name_process(char* name, ulint len, ulint space_id, bool deleted) ...@@ -879,35 +879,22 @@ fil_name_process(char* name, ulint len, ulint space_id, bool deleted)
case FIL_LOAD_INVALID: case FIL_LOAD_INVALID:
ut_ad(space == NULL); ut_ad(space == NULL);
if (srv_force_recovery == 0) { if (srv_force_recovery == 0) {
ib::warn() << "We do not continue the crash" sql_print_error("InnoDB: Recovery cannot access"
" recovery, because the table may" " file %s (tablespace "
" become corrupt if we cannot apply" ULINTPF ")", name, space_id);
" the log records in the InnoDB log to" sql_print_information("InnoDB: You may set "
" it. To fix the problem and start" "innodb_force_recovery=1"
" mysqld:"; " to ignore this and"
ib::info() << "1) If there is a permission" " possibly get a"
" problem in the file and mysqld" " corrupted database.");
" cannot open the file, you should"
" modify the permissions.";
ib::info() << "2) If the tablespace is not"
" needed, or you can restore an older"
" version from a backup, then you can"
" remove the .ibd file, and use"
" --innodb_force_recovery=1 to force"
" startup without this file.";
ib::info() << "3) If the file system or the"
" disk is broken, and you cannot"
" remove the .ibd file, you can set"
" --innodb_force_recovery.";
recv_sys.found_corrupt_fs = true; recv_sys.found_corrupt_fs = true;
break; break;
} }
ib::info() << "innodb_force_recovery was set to " sql_print_warning("InnoDB: Ignoring changes to"
<< srv_force_recovery << ". Continuing crash" " file %s (tablespace " ULINTPF ")"
" recovery even though we cannot access the" " due to innodb_force_recovery",
" files for tablespace " << space_id << "."; name, space_id);
break;
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment