diff --git a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result index cd17bd508dd..1a63dc6933a 100644 --- a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result +++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result @@ -4,6 +4,7 @@ call mtr.add_suppression("InnoDB: Recovery cannot access file"); call mtr.add_suppression("InnoDB: Plugin initialization aborted"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page "); call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'"); call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'"); diff --git a/mysql-test/suite/encryption/t/corrupted_during_recovery.test b/mysql-test/suite/encryption/t/corrupted_during_recovery.test index e4a31a0b478..641cb2af3c7 100644 --- a/mysql-test/suite/encryption/t/corrupted_during_recovery.test +++ b/mysql-test/suite/encryption/t/corrupted_during_recovery.test @@ -10,6 +10,7 @@ call mtr.add_suppression("InnoDB: Failed to read page [123] from file '.*test.t1 call mtr.add_suppression("InnoDB: The page \\[page id: space=\\d+, page number=3\\] in file '.*test.t1\\.ibd' cannot be decrypted"); call mtr.add_suppression("InnoDB: Table in tablespace \\d+ encrypted. However key management plugin or used key_version \\d+ is not found or used encryption algorithm or method does not match. Can't continue opening the table."); call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page "); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); --enable_query_log let INNODB_PAGE_SIZE=`select @@innodb_page_size`; diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test index 87a9e7a146e..05505011da7 100644 --- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test +++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test @@ -9,6 +9,7 @@ call mtr.add_suppression("InnoDB: Recovery cannot access file"); call mtr.add_suppression("InnoDB: Plugin initialization aborted"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error\\."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page "); call mtr.add_suppression("InnoDB: Cannot apply log to \\[page id: space=[1-9][0-9]*, page number=0\\] of corrupted file '.*test.t[1-5]\\.ibd'"); call mtr.add_suppression("InnoDB: Failed to read page .* from file '.*'"); diff --git a/mysql-test/suite/innodb/r/encryption_threads_shutdown.result b/mysql-test/suite/innodb/r/encryption_threads_shutdown.result index 3f0dcd90426..638c8321c30 100644 --- a/mysql-test/suite/innodb/r/encryption_threads_shutdown.result +++ b/mysql-test/suite/innodb/r/encryption_threads_shutdown.result @@ -2,6 +2,7 @@ call mtr.add_suppression("Creating system tablespace with existing redo log file call mtr.add_suppression("InnoDB: Database creation was aborted"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); CREATE TABLE t(a INT) ENGINE=InnoDB; # Kill the server # restart diff --git a/mysql-test/suite/innodb/r/log_file_overwrite.result b/mysql-test/suite/innodb/r/log_file_overwrite.result index 58aa4a32bdb..ddf8cef63e7 100644 --- a/mysql-test/suite/innodb/r/log_file_overwrite.result +++ b/mysql-test/suite/innodb/r/log_file_overwrite.result @@ -1,4 +1,5 @@ call mtr.add_suppression("InnoDB: Plugin initialization aborted"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("plugin 'InnoDB' registration as a STORAGE ENGINE failed."); CREATE TABLE t1(f1 INT NOT NULL, f2 TEXT)ENGINE=InnoDB; # restart: --debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0 diff --git a/mysql-test/suite/innodb/r/recovery_memory.result b/mysql-test/suite/innodb/r/recovery_memory.result index 472e8e24554..b585b0202c2 100644 --- a/mysql-test/suite/innodb/r/recovery_memory.result +++ b/mysql-test/suite/innodb/r/recovery_memory.result @@ -2,6 +2,7 @@ call mtr.add_suppression("InnoDB: The change buffer is corrupted"); call mtr.add_suppression("InnoDB: Plugin initialization aborted at srv0start.cc"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error"); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); CREATE TABLE t1(c TEXT, KEY(c(3072)))ENGINE=InnoDB CHARSET=latin1; CREATE PROCEDURE dorepeat() LOOP diff --git a/mysql-test/suite/innodb/t/alter_kill.test b/mysql-test/suite/innodb/t/alter_kill.test index 3936b3fd9e4..04f818a87c2 100644 --- a/mysql-test/suite/innodb/t/alter_kill.test +++ b/mysql-test/suite/innodb/t/alter_kill.test @@ -21,6 +21,7 @@ call mtr.add_suppression("InnoDB: Tablespace .* was not found at.*bug16735660"); call mtr.add_suppression("InnoDB: Plugin initialization aborted*"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("Table .*bug16720368.* is corrupted"); -- enable_query_log diff --git a/mysql-test/suite/innodb/t/corrupted_during_recovery.test b/mysql-test/suite/innodb/t/corrupted_during_recovery.test index 8324054992c..53350771322 100644 --- a/mysql-test/suite/innodb/t/corrupted_during_recovery.test +++ b/mysql-test/suite/innodb/t/corrupted_during_recovery.test @@ -10,6 +10,7 @@ call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) co call mtr.add_suppression("Table `test`.`t1` is corrupted. Please drop the table and recreate."); call mtr.add_suppression("InnoDB: File '.*test/t1\\.ibd' is corrupted"); call mtr.add_suppression("InnoDB: A long wait .* was observed for dict_sys"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); --enable_query_log let INNODB_PAGE_SIZE=`select @@innodb_page_size`; diff --git a/mysql-test/suite/innodb/t/encryption_threads_shutdown.test b/mysql-test/suite/innodb/t/encryption_threads_shutdown.test index d6e58a19ad9..16e2f318a41 100644 --- a/mysql-test/suite/innodb/t/encryption_threads_shutdown.test +++ b/mysql-test/suite/innodb/t/encryption_threads_shutdown.test @@ -6,6 +6,7 @@ call mtr.add_suppression("Creating system tablespace with existing redo log file call mtr.add_suppression("InnoDB: Database creation was aborted"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error."); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); --let $MYSQLD_DATADIR=`SELECT @@datadir` --let $DATA= $MYSQLD_DATADIR/ibdata1 diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test index 2acda08d2ca..eb5a2c33738 100644 --- a/mysql-test/suite/innodb/t/innodb-index.test +++ b/mysql-test/suite/innodb/t/innodb-index.test @@ -1235,6 +1235,7 @@ call mtr.add_suppression("InnoDB: Tablespace .* was not found at .*t[12].ibd."); call mtr.add_suppression("InnoDB: Plugin initialization aborted"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error"); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); --enable_query_log --source include/test_db_charset_restore.inc diff --git a/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test b/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test index 21d5336528a..84e3cbd3e68 100644 --- a/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test +++ b/mysql-test/suite/innodb/t/leaf_page_corrupted_during_recovery.test @@ -7,6 +7,7 @@ call mtr.add_suppression("\\[ERROR\\] InnoDB: Failed to read page 19 from file ' call mtr.add_suppression("InnoDB: (Unable to apply log to|Discarding log for) corrupted page .*, page number=19\\]"); call mtr.add_suppression("\\[ERROR\\] InnoDB: Plugin initialization aborted at srv0start\\.cc.* with error Data structure corruption"); call mtr.add_suppression("\\[ERROR\\] Plugin 'InnoDB' (init function|registration)"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("\\[ERROR\\] InnoDB: We detected index corruption"); call mtr.add_suppression("\\[ERROR\\] (mysqld|mariadbd).*: Index for table 't1' is corrupt; try to repair it"); call mtr.add_suppression("InnoDB: btr_pcur_open_low level: 0 table: `test`\\.`t1` index: `PRIMARY`"); diff --git a/mysql-test/suite/innodb/t/log_file_name.test b/mysql-test/suite/innodb/t/log_file_name.test index 33b1e37e2ce..2ebc83af269 100644 --- a/mysql-test/suite/innodb/t/log_file_name.test +++ b/mysql-test/suite/innodb/t/log_file_name.test @@ -168,6 +168,7 @@ call mtr.add_suppression("InnoDB: Could not find a valid tablespace file for `te call mtr.add_suppression("InnoDB: Ignoring tablespace for test/u[1-3] because it could not be opened\\."); call mtr.add_suppression("InnoDB: Failed to find tablespace for table .* in the cache. Attempting to load the tablespace with space id"); call mtr.add_suppression("InnoDB: Plugin initialization aborted"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("Plugin 'InnoDB' \(init function returned error\|registration as a STORAGE ENGINE failed\)"); call mtr.add_suppression("InnoDB: Table test/u[123] in the InnoDB data dictionary has tablespace id [1-9][0-9]*, but tablespace with that id or name does not exist\\. Have you deleted or moved \\.ibd files\\?"); call mtr.add_suppression("InnoDB: Cannot replay rename of tablespace.*"); diff --git a/mysql-test/suite/innodb/t/log_file_overwrite.test b/mysql-test/suite/innodb/t/log_file_overwrite.test index b6ee84a169c..253cf2d6119 100644 --- a/mysql-test/suite/innodb/t/log_file_overwrite.test +++ b/mysql-test/suite/innodb/t/log_file_overwrite.test @@ -3,6 +3,7 @@ --source include/have_debug.inc call mtr.add_suppression("InnoDB: Plugin initialization aborted"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("plugin 'InnoDB' registration as a STORAGE ENGINE failed."); CREATE TABLE t1(f1 INT NOT NULL, f2 TEXT)ENGINE=InnoDB; let $restart_parameters=--debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0; diff --git a/mysql-test/suite/innodb/t/log_file_size.test b/mysql-test/suite/innodb/t/log_file_size.test index ea186965e5f..01fcb84860a 100644 --- a/mysql-test/suite/innodb/t/log_file_size.test +++ b/mysql-test/suite/innodb/t/log_file_size.test @@ -11,6 +11,7 @@ call mtr.add_suppression("syntax error in innodb_log_group_home_dir"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error"); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed"); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); call mtr.add_suppression("InnoDB: Plugin initialization aborted"); call mtr.add_suppression("InnoDB: innodb_read_only prevents crash recovery"); call mtr.add_suppression("InnoDB: Log file .*ib_logfile1.* size"); diff --git a/mysql-test/suite/innodb/t/recovery_memory.test b/mysql-test/suite/innodb/t/recovery_memory.test index cd7db1ad69a..66609dd7d7e 100644 --- a/mysql-test/suite/innodb/t/recovery_memory.test +++ b/mysql-test/suite/innodb/t/recovery_memory.test @@ -6,6 +6,7 @@ call mtr.add_suppression("InnoDB: The change buffer is corrupted"); call mtr.add_suppression("InnoDB: Plugin initialization aborted at srv0start.cc"); call mtr.add_suppression("Plugin 'InnoDB' init function returned error"); call mtr.add_suppression("Plugin 'InnoDB' registration as a STORAGE ENGINE failed."); +call mtr.add_suppression("Fewer engines are enabled now than were before the crash"); CREATE TABLE t1(c TEXT, KEY(c(3072)))ENGINE=InnoDB CHARSET=latin1; DELIMITER |; diff --git a/sql/log.cc b/sql/log.cc index ad74d464ad6..2e13afaade1 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -10857,11 +10857,8 @@ int TC_LOG_MMAP::recover() number of storage engines on startup */ if (data[sizeof(tc_log_magic)] > total_ha_2pc) - { - sql_print_error("Recovery failed! You must enable " - "all engines that were enabled at the moment of the crash"); - goto err1; - } + sql_print_error("Fewer engines are enabled now than were before the crash. " + "Recovery might be incomplete!"); if (my_hash_init(PSI_INSTRUMENT_ME, &xids, &my_charset_bin, tc_log_page_size/3, 0, sizeof(my_xid), 0, 0, MYF(0)))