mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 02:30:06 +01:00
MDEV-13893 encryption.innodb-redo-badkey failed in buildbot with page 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.
This commit is contained in:
parent
542f32649b
commit
3e8cab51cb
2 changed files with 2 additions and 16 deletions
|
@ -612,20 +612,13 @@ bad:
|
||||||
|
|
||||||
ulint decomp = fil_page_decompress(buf, page);
|
ulint decomp = fil_page_decompress(buf, page);
|
||||||
if (!decomp || (decomp != srv_page_size && zip_size)) {
|
if (!decomp || (decomp != srv_page_size && zip_size)) {
|
||||||
goto bad_doublewrite;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expect_encrypted && mach_read_from_4(
|
if (expect_encrypted && mach_read_from_4(
|
||||||
page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
|
page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
|
||||||
? !fil_space_verify_crypt_checksum(page, zip_size)
|
? !fil_space_verify_crypt_checksum(page, zip_size)
|
||||||
: buf_page_is_corrupted(true, page, zip_size, space())) {
|
: 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
|
/* Theoretically we could have another good
|
||||||
copy for this page in the doublewrite
|
copy for this page in the doublewrite
|
||||||
buffer. If not, we will report a fatal error
|
buffer. If not, we will report a fatal error
|
||||||
|
|
|
@ -612,20 +612,13 @@ bad:
|
||||||
|
|
||||||
ulint decomp = fil_page_decompress(buf, page);
|
ulint decomp = fil_page_decompress(buf, page);
|
||||||
if (!decomp || (decomp != srv_page_size && zip_size)) {
|
if (!decomp || (decomp != srv_page_size && zip_size)) {
|
||||||
goto bad_doublewrite;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expect_encrypted && mach_read_from_4(
|
if (expect_encrypted && mach_read_from_4(
|
||||||
page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
|
page + FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION)
|
||||||
? !fil_space_verify_crypt_checksum(page, zip_size)
|
? !fil_space_verify_crypt_checksum(page, zip_size)
|
||||||
: buf_page_is_corrupted(true, page, zip_size, space())) {
|
: 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
|
/* Theoretically we could have another good
|
||||||
copy for this page in the doublewrite
|
copy for this page in the doublewrite
|
||||||
buffer. If not, we will report a fatal error
|
buffer. If not, we will report a fatal error
|
||||||
|
|
Loading…
Add table
Reference in a new issue