Skip to content
/ server Public
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions storage/innobase/include/log0recv.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,6 @@ ATTRIBUTE_COLD MY_ATTRIBUTE((nonnull, warn_unused_result))
@return whether the page was recovered correctly */
bool recv_recover_page(fil_space_t* space, buf_page_t* bpage);

/** Read the latest checkpoint information from log file
and store it in log_sys.next_checkpoint and recv_sys.file_checkpoint
@return error code or DB_SUCCESS */
dberr_t recv_recovery_read_checkpoint();

/** Start recovering from a redo log checkpoint.
of first system tablespace page
@return error code or DB_SUCCESS */
Expand Down
24 changes: 0 additions & 24 deletions storage/innobase/log/log0recv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4744,30 +4744,6 @@ static dberr_t recv_rename_files()
return err;
}

dberr_t recv_recovery_read_checkpoint()
{
ut_ad(srv_operation <= SRV_OPERATION_EXPORT_RESTORED ||
srv_operation == SRV_OPERATION_RESTORE ||
srv_operation == SRV_OPERATION_RESTORE_EXPORT);
ut_ad(!recv_sys.recovery_on);
ut_d(mysql_mutex_lock(&buf_pool.mutex));
ut_ad(UT_LIST_GET_LEN(buf_pool.LRU) == 0);
ut_ad(UT_LIST_GET_LEN(buf_pool.unzip_LRU) == 0);
ut_d(mysql_mutex_unlock(&buf_pool.mutex));

if (srv_force_recovery >= SRV_FORCE_NO_LOG_REDO)
{
sql_print_information("InnoDB: innodb_force_recovery=6"
" skips redo log apply");
return DB_SUCCESS;
}

log_sys.latch.wr_lock(SRW_LOCK_CALL);
dberr_t err= recv_sys.find_checkpoint();
log_sys.latch.wr_unlock();
return err;
}

inline void log_t::set_recovered() noexcept
{
ut_ad(get_flushed_lsn() == get_lsn());
Expand Down
18 changes: 15 additions & 3 deletions storage/innobase/srv/srv0start.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1334,9 +1334,21 @@ dberr_t srv_start(bool create_new_db)
}
recv_sys.debug_free();
} else {
err = recv_recovery_read_checkpoint();
if (err != DB_SUCCESS) {
return srv_init_abort(err);
ut_ad(srv_operation <= SRV_OPERATION_EXPORT_RESTORED
|| srv_operation == SRV_OPERATION_RESTORE
|| srv_operation == SRV_OPERATION_RESTORE_EXPORT);
ut_ad(!recv_sys.recovery_on);

if (srv_force_recovery >= SRV_FORCE_NO_LOG_REDO) {
sql_print_information("InnoDB: innodb_force_recovery=6"
" skips redo log apply");
} else {
log_sys.latch.wr_lock(SRW_LOCK_CALL);
err = recv_sys.find_checkpoint();
log_sys.latch.wr_unlock();
if (err != DB_SUCCESS) {
return srv_init_abort(err);
}
}
}

Expand Down