Skip to content
/ server Public
Draft
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
20 changes: 10 additions & 10 deletions extra/mariabackup/xtrabackup.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2658,15 +2658,15 @@ static void log_hdr_init()
log_sys.format == log_t::FORMAT_ENC_11
? log_t::FORMAT_ENC_11 : log_t::FORMAT_10_8);
mach_write_to_8(LOG_HEADER_START_LSN + log_hdr_buf,
log_sys.next_checkpoint_lsn);
log_sys.last_checkpoint_lsn);
snprintf(reinterpret_cast<char*>(LOG_HEADER_CREATOR + log_hdr_buf),
16, "Backup %u.%u.%u",
MYSQL_VERSION_ID / 10000, MYSQL_VERSION_ID / 100 % 100,
MYSQL_VERSION_ID % 100);
if (log_sys.is_encrypted())
log_crypt_write_header(log_hdr_buf + LOG_HEADER_CREATOR_END);
mach_write_to_4(508 + log_hdr_buf, my_crc32c(0, log_hdr_buf, 508));
mach_write_to_8(log_hdr_buf + 0x1000, log_sys.next_checkpoint_lsn);
mach_write_to_8(log_hdr_buf + 0x1000, log_sys.last_checkpoint_lsn);
mach_write_to_8(log_hdr_buf + 0x1008, recv_sys.lsn);
mach_write_to_4(log_hdr_buf + 0x103c,
my_crc32c(0, log_hdr_buf + 0x1000, 60));
Expand Down Expand Up @@ -2740,7 +2740,7 @@ static bool innodb_init()
return true;
}

recv_sys.lsn= log_sys.next_checkpoint_lsn=
recv_sys.lsn= log_sys.last_checkpoint_lsn=
log_get_lsn() - SIZE_OF_FILE_CHECKPOINT;
log_sys.set_latest_format(false); // not encrypted
log_hdr_init();
Expand Down Expand Up @@ -3613,7 +3613,7 @@ static bool backup_wait_timeout(lsn_t lsn, lsn_t last_lsn)
return true;
msg("Was only able to copy log from " LSN_PF " to " LSN_PF
", not " LSN_PF "; try increasing innodb_log_file_size",
log_sys.next_checkpoint_lsn, last_lsn, lsn);
log_sys.last_checkpoint_lsn.load(), last_lsn, lsn);
return false;
}

Expand Down Expand Up @@ -4871,9 +4871,9 @@ static bool backup_wait_for_commit_lsn()
/* read the latest checkpoint lsn */
if (recv_sys.find_checkpoint() == DB_SUCCESS && log_sys.is_latest())
{
if (log_sys.next_checkpoint_lsn > lsn)
lsn= log_sys.next_checkpoint_lsn;
metadata_to_lsn= log_sys.next_checkpoint_lsn;
metadata_to_lsn= log_sys.last_checkpoint_lsn;
if (metadata_to_lsn > lsn)
lsn= metadata_to_lsn;
msg("mariabackup: The latest check point (for incremental): '"
LSN_PF "'", metadata_to_lsn);
}
Expand Down Expand Up @@ -5576,7 +5576,7 @@ static bool xtrabackup_backup_func()
}

/* label it */
recv_sys.file_checkpoint = log_sys.next_checkpoint_lsn;
recv_sys.file_checkpoint = log_sys.last_checkpoint_lsn;
log_hdr_init();
/* Write log header*/
if (ds_write(dst_log_file, log_hdr_buf, 12288)) {
Expand Down Expand Up @@ -5607,7 +5607,7 @@ static bool xtrabackup_backup_func()

mysql_mutex_lock(&recv_sys.mutex);
backup_log_parse = recv_sys.get_backup_parser();
recv_sys.lsn = log_sys.next_checkpoint_lsn;
recv_sys.lsn = log_sys.last_checkpoint_lsn;

const bool log_copy_failed = xtrabackup_copy_logfile(true);

Expand Down Expand Up @@ -5666,7 +5666,7 @@ static bool xtrabackup_backup_func()
backup_datasinks.destroy();

msg("Redo log (from LSN " LSN_PF " to " LSN_PF ") was copied.",
log_sys.next_checkpoint_lsn, recv_sys.lsn);
log_sys.last_checkpoint_lsn.load(), recv_sys.lsn);
xb_filters_free();

xb_data_files_close();
Expand Down
2 changes: 1 addition & 1 deletion mysql-test/suite/innodb/r/log_corruption_recovery.result
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ call mtr.add_suppression("InnoDB: OPT_PAGE_CHECKSUM mismatch on \\[page id: spac
call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1");
call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=127, page number=0\\] of corrupted file '.*test/t\\.ibd");
call mtr.add_suppression("(InnoDB: Plugin|Plugin 'InnoDB')");
call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 12(3(38|54|70|86)|4(02|18|34|50|66|82|98)|5(14|30|46|62|78|94)|6(10|26|42|58|74|90))");
call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 123(38|54)");
SET GLOBAL innodb_fast_shutdown=0;
# restart
SELECT * FROM INFORMATION_SCHEMA.ENGINES
Expand Down
2 changes: 1 addition & 1 deletion mysql-test/suite/innodb/t/log_corruption_recovery.test
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ call mtr.add_suppression("InnoDB: Set innodb_force_recovery=1");
call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=127, page number=0\\] of corrupted file '.*test/t\\.ibd");
call mtr.add_suppression("(InnoDB: Plugin|Plugin 'InnoDB')");
# Allow innodb_force_recovery=1 to write up to 10 FILE_CHECKPOINT records
call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 12(3(38|54|70|86)|4(02|18|34|50|66|82|98)|5(14|30|46|62|78|94)|6(10|26|42|58|74|90))");
call mtr.add_suppression("InnoDB: Page .* Current system log sequence number 123(38|54)");
SET GLOBAL innodb_fast_shutdown=0;
--source include/shutdown_mysqld.inc
--move_file $DATADIR/ib_logfile0 $DATADIR/ib_logfile0.old
Expand Down
2 changes: 1 addition & 1 deletion storage/innobase/buf/buf0dblwr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ dberr_t buf_dblwr_t::init_or_load_pages(pfs_os_file_t file, const char *path)
else
{
alignas(8) char checkpoint[8];
mach_write_to_8(checkpoint, log_sys.next_checkpoint_lsn);
mach_write_to_8(checkpoint, log_sys.last_checkpoint_lsn);
for (auto i= size * 2; i--; page += srv_page_size)
if (memcmp_aligned<8>(page + FIL_PAGE_LSN, checkpoint, 8) >= 0)
/* Valid pages are not older than the log checkpoint. */
Expand Down
Loading