Mariabackup --prepare: Do not access transactions or data dictionary
innobase_start_or_create_for_mysql(): Only start the data dictionary and transaction subsystems in normal server startup and during mariabackup --export.
This commit is contained in:
parent
33ecf8345d
commit
be85c2dc88
@ -2246,17 +2246,32 @@ files_checked:
|
|||||||
|
|
||||||
recv_sys->dblwr.pages.clear();
|
recv_sys->dblwr.pages.clear();
|
||||||
|
|
||||||
if (err == DB_SUCCESS) {
|
|
||||||
/* Initialize the change buffer. */
|
|
||||||
err = dict_boot();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (err != DB_SUCCESS) {
|
if (err != DB_SUCCESS) {
|
||||||
return(srv_init_abort(err));
|
return(srv_init_abort(err));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This must precede recv_apply_hashed_log_recs(true). */
|
switch (srv_operation) {
|
||||||
trx_sys_init_at_db_start();
|
case SRV_OPERATION_NORMAL:
|
||||||
|
case SRV_OPERATION_RESTORE_EXPORT:
|
||||||
|
/* Initialize the change buffer. */
|
||||||
|
err = dict_boot();
|
||||||
|
if (err != DB_SUCCESS) {
|
||||||
|
return(srv_init_abort(err));
|
||||||
|
}
|
||||||
|
/* This must precede
|
||||||
|
recv_apply_hashed_log_recs(true). */
|
||||||
|
trx_sys_init_at_db_start();
|
||||||
|
break;
|
||||||
|
case SRV_OPERATION_RESTORE_DELTA:
|
||||||
|
case SRV_OPERATION_BACKUP:
|
||||||
|
ut_ad(!"wrong mariabackup mode");
|
||||||
|
/* fall through */
|
||||||
|
case SRV_OPERATION_RESTORE:
|
||||||
|
/* mariabackup --prepare only deals with
|
||||||
|
the redo log and the data files, not with
|
||||||
|
transactions or the data dictionary. */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
|
if (srv_force_recovery < SRV_FORCE_NO_LOG_REDO) {
|
||||||
/* Apply the hashed log records to the
|
/* Apply the hashed log records to the
|
||||||
|
Loading…
x
Reference in New Issue
Block a user