Skip to content

Commit

Permalink
MDEV-13893 encryption.innodb-redo-badkey failed in buildbot with page…
Browse files Browse the repository at this point in the history
… cannot be decrypted

buf_dblwr_process(): Remove the useless warning that a copy of a page
in the doublewrite buffer is corrupted. We already report an error if a
corrupted page cannot be recovered from the doublewrite buffer.

Note: In MariaDB 10.1, the original bug reported in MDEV-13893 could
still be easily repeatable. In MariaDB 10.2.24, MDEV-12699 should
have reduced the probability considerably.
  • Loading branch information
Thirunarayanan authored and dr-m committed May 10, 2019
1 parent 542f326 commit 3e8cab5
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 16 deletions.
9 changes: 1 addition & 8 deletions storage/innobase/buf/buf0dblwr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -612,20 +612,13 @@ buf_dblwr_process()

ulint decomp = fil_page_decompress(buf, page);
if (!decomp || (decomp != srv_page_size && zip_size)) {
goto bad_doublewrite;
continue;
}

if (expect_encrypted && mach_read_from_4(
page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
? !fil_space_verify_crypt_checksum(page, zip_size)
: buf_page_is_corrupted(true, page, zip_size, space())) {
if (!is_all_zero) {
bad_doublewrite:
ib_logf(IB_LOG_LEVEL_WARN,
"A doublewrite copy of page "
ULINTPF ":" ULINTPF " is corrupted.",
space_id, page_no);
}
/* Theoretically we could have another good
copy for this page in the doublewrite
buffer. If not, we will report a fatal error
Expand Down
9 changes: 1 addition & 8 deletions storage/xtradb/buf/buf0dblwr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -612,20 +612,13 @@ buf_dblwr_process()

ulint decomp = fil_page_decompress(buf, page);
if (!decomp || (decomp != srv_page_size && zip_size)) {
goto bad_doublewrite;
continue;
}

if (expect_encrypted && mach_read_from_4(
page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
? !fil_space_verify_crypt_checksum(page, zip_size)
: buf_page_is_corrupted(true, page, zip_size, space())) {
if (!is_all_zero) {
bad_doublewrite:
ib_logf(IB_LOG_LEVEL_WARN,
"A doublewrite copy of page "
ULINTPF ":" ULINTPF " is corrupted.",
space_id, page_no);
}
/* Theoretically we could have another good
copy for this page in the doublewrite
buffer. If not, we will report a fatal error
Expand Down

0 comments on commit 3e8cab5

Please sign in to comment.