diff --git a/mysql-test/suite/encryption/r/innodb_encrypt_log_corruption.result b/mysql-test/suite/encryption/r/innodb_encrypt_log_corruption.result index 35d73cda0ec..16a5c91a953 100644 --- a/mysql-test/suite/encryption/r/innodb_encrypt_log_corruption.result +++ b/mysql-test/suite/encryption/r/innodb_encrypt_log_corruption.result @@ -86,11 +86,10 @@ AND support IN ('YES', 'DEFAULT', 'ENABLED'); ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS FOUND /len 22; hex 38000000000012860cb7809781e800066269676f7400; asc 8 bigot ;/ in mysqld.1.err # Minimal MariaDB 10.1.21 encrypted redo log -# FIXME: Upgrade from a clean encrypted redo log should actually work! SELECT COUNT(*) `1` FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb' AND support IN ('YES', 'DEFAULT', 'ENABLED'); 1 -0 +1 ib_buffer_pool ib_logfile0 ib_logfile1 diff --git a/mysql-test/suite/encryption/t/innodb_encrypt_log_corruption.test b/mysql-test/suite/encryption/t/innodb_encrypt_log_corruption.test index c4cd233e4ac..85ce09e0901 100644 --- a/mysql-test/suite/encryption/t/innodb_encrypt_log_corruption.test +++ b/mysql-test/suite/encryption/t/innodb_encrypt_log_corruption.test @@ -1,8 +1,6 @@ --let $no_cleanup=1 --source ../../innodb/t/log_corruption.test ---echo # FIXME: Upgrade from a clean encrypted redo log should actually work! - SELECT COUNT(*) `1` FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb' AND support IN ('YES', 'DEFAULT', 'ENABLED'); diff --git a/storage/innobase/log/log0recv.cc b/storage/innobase/log/log0recv.cc index f861ff8fd10..803ce99e707 100644 --- a/storage/innobase/log/log0recv.cc +++ b/storage/innobase/log/log0recv.cc @@ -872,6 +872,8 @@ recv_log_format_0_recover(lsn_t lsn) % univ_page_size.physical()), OS_FILE_LOG_BLOCK_SIZE, buf, NULL); + log_decrypt_after_read(buf, OS_FILE_LOG_BLOCK_SIZE); + if (log_block_calc_checksum_format_0(buf) != log_block_get_checksum(buf)) { ib::error() << NO_UPGRADE_RECOVERY_MSG