[Commits] d3708f7: Fix bunch of test failures and solaris build missing include.

Jan Lindström jan.lindstrom at mariadb.com
Fri Sep 9 10:01:50 EEST 2016


revision-id: d3708f789d8215d065b7cd7623d8c3b4c3ec145f (mariadb-10.2.1-7-gd3708f7)
parent(s): 11ae60d2c582f5f57d5aeca4b48b04ce206efc6c
committer: Jan Lindström
timestamp: 2016-09-09 10:01:18 +0300
message:

Fix bunch of test failures and solaris build missing include.

---
 cmake/compile_flags.cmake                          |  44 +++
 .../suite/encryption/r/create_or_replace.result    |   1 +
 .../suite/encryption/t/create_or_replace.test      |   3 +
 .../suite/innodb/include/innodb_wl6501_crash.inc   | 430 +++++++++++++++++++++
 .../innodb/include/innodb_wl6501_crash_temp.inc    | 102 +++++
 .../suite/innodb/r/innodb-wl5522-debug.result      |  27 +-
 .../innodb/r/innodb_simulate_comp_failures.result  |  13 +-
 mysql-test/suite/innodb/t/innodb-wl5522-debug.test |  10 +
 mysql-test/suite/innodb_zip/r/16k.result           |   4 -
 mysql-test/suite/innodb_zip/r/wl6501_1.result      |  52 +++
 .../suite/innodb_zip/r/wl6501_crash_3.result       |  36 +-
 mysql-test/suite/innodb_zip/t/16k.test             |  13 +-
 storage/innobase/buf/buf0buf.cc                    |  16 +
 storage/innobase/fil/fil0fil.cc                    |   3 +-
 storage/innobase/handler/handler0alter.cc          |   3 +-
 storage/innobase/include/dict0dict.h               |   3 +-
 storage/innobase/include/dict0dict.ic              |  11 +-
 17 files changed, 737 insertions(+), 34 deletions(-)

diff --git a/cmake/compile_flags.cmake b/cmake/compile_flags.cmake
new file mode 100644
index 0000000..b39bf7b
--- /dev/null
+++ b/cmake/compile_flags.cmake
@@ -0,0 +1,44 @@
+# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+
+
+## ADD_COMPILE_FLAGS(<source files> COMPILE_FLAGS <flags>)
+MACRO(ADD_COMPILE_FLAGS)
+  SET(FILES "")
+  SET(FLAGS "")
+  SET(COMPILE_FLAGS_SEEN)
+  FOREACH(ARG ${ARGV})
+    IF(ARG STREQUAL "COMPILE_FLAGS")
+      SET(COMPILE_FLAGS_SEEN 1)
+    ELSEIF(COMPILE_FLAGS_SEEN)
+      LIST(APPEND FLAGS ${ARG})
+    ELSE()
+      LIST(APPEND FILES ${ARG})
+    ENDIF()
+  ENDFOREACH()
+  FOREACH(FILE ${FILES})
+    FOREACH(FLAG ${FLAGS})
+      GET_SOURCE_FILE_PROPERTY(PROP ${FILE} COMPILE_FLAGS)
+      IF(NOT PROP)
+        SET(PROP ${FLAG})
+      ELSE()
+        SET(PROP "${PROP} ${FLAG}")
+      ENDIF()
+      SET_SOURCE_FILES_PROPERTIES(
+        ${FILE} PROPERTIES COMPILE_FLAGS "${PROP}"
+        )
+    ENDFOREACH()
+  ENDFOREACH()
+ENDMACRO()
diff --git a/mysql-test/suite/encryption/r/create_or_replace.result b/mysql-test/suite/encryption/r/create_or_replace.result
index 1671043..d52572d 100644
--- a/mysql-test/suite/encryption/r/create_or_replace.result
+++ b/mysql-test/suite/encryption/r/create_or_replace.result
@@ -1,3 +1,4 @@
+call mtr.add_suppression("InnoDB: Error: trying to do an operation on a dropped tablespace.*");
 SET default_storage_engine = InnoDB;
 CREATE TABLE t1 (pk INT PRIMARY KEY, c VARCHAR(256));
 CREATE TABLE t2 AS SELECT * FROM t1;
diff --git a/mysql-test/suite/encryption/t/create_or_replace.test b/mysql-test/suite/encryption/t/create_or_replace.test
index 3b2970e..98d5b7c 100644
--- a/mysql-test/suite/encryption/t/create_or_replace.test
+++ b/mysql-test/suite/encryption/t/create_or_replace.test
@@ -7,6 +7,9 @@
 #
 # MDEV-8164: Server crashes in pfs_mutex_enter_func after fil_crypt_is_closing or alike
 #
+
+call mtr.add_suppression("InnoDB: Error: trying to do an operation on a dropped tablespace.*");
+
 SET default_storage_engine = InnoDB;
 
 CREATE TABLE t1 (pk INT PRIMARY KEY, c VARCHAR(256));
diff --git a/mysql-test/suite/innodb/include/innodb_wl6501_crash.inc b/mysql-test/suite/innodb/include/innodb_wl6501_crash.inc
new file mode 100644
index 0000000..047be4d
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb_wl6501_crash.inc
@@ -0,0 +1,430 @@
+#
+# WL#6501: make truncate table atomic
+#
+
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/big_test.inc
+
+# Valgrind would complain about memory leaks when we crash on purpose.
+--source include/not_valgrind.inc
+# Embedded server does not support crashing
+--source include/not_embedded.inc
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+
+# suppress expected warnings.
+call mtr.add_suppression("The file '.*' already exists though the corresponding table did not exist in the InnoDB data dictionary");
+call mtr.add_suppression("Cannot create file '.*'");
+call mtr.add_suppression("InnoDB: Error number 17 means 'File exists'");
+
+################################################################################
+#
+# Will test following scenarios:
+# 1. Hit crash point while writing redo log.
+# 2. Hit crash point on completion of redo log write.
+# 3. Hit crash point while dropping indexes.
+# 4. Hit crash point on completing drop of all indexes before creation of index
+#    is commenced.
+# 5. Hit crash point while creating indexes.
+# 6. Hit crash point after data is updated to system-table and in-memory dict.
+# 7. Hit crash point before/after log checkpoint is done.
+#
+################################################################################
+
+#-----------------------------------------------------------------------------
+#
+# create test-bed
+#
+let $per_table = `select @@innodb_file_per_table`;
+let $format = `select @@innodb_file_format`;
+
+eval set global innodb_file_per_table = on;
+let $WL6501_TMP_DIR = `select @@tmpdir`;
+let $WL6501_DATA_DIR = `select @@datadir`;
+let SEARCH_FILE = $MYSQLTEST_VARDIR/log/my_restart.err;
+
+#-----------------------------------------------------------------------------
+#
+# 1. Hit crash point while writing redo log.
+#
+--echo "1. Hit crash point while writing redo log."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine=innodb row_format=$wl6501_row_fmt
+	key_block_size=$wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_while_writing_redo_log";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+#-----------------------------------------------------------------------------
+#
+# 2. Hit crash point on completion of redo log write.
+#
+--echo "2. Hit crash point on completion of redo log write."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_after_redo_log_write_complete";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+#-----------------------------------------------------------------------------
+#
+# 3. Hit crash point while dropping indexes.
+#
+--echo "3. Hit crash point while dropping indexes."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_drop_of_clust_index";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+#
+#
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_drop_of_uniq_index";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+#
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+#
+#
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_drop_of_sec_index";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+#-----------------------------------------------------------------------------
+#
+# 4. Hit crash point on completing drop of all indexes before creation of index
+#    is commenced.
+#
+--echo "4. Hit crash point on completing drop of all indexes before creation"
+--echo "   of index is commenced."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+#-----------------------------------------------------------------------------
+#
+# 5. Hit crash point while creating indexes.
+#
+--echo "5. Hit crash point while creating indexes."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_create_of_clust_index";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+#
+#
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_create_of_uniq_index";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+#
+#
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_create_of_sec_index";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+#-----------------------------------------------------------------------------
+#
+# 6. Hit crash point after data is updated to system-table and in-memory dict.
+#
+--echo "6. Hit crash point after data is updated to system-table and"
+--echo "   in-memory dict."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+#-----------------------------------------------------------------------------
+#
+# 7. Hit crash point before/after log checkpoint is done.
+#
+--echo "7. Hit crash point before/after log checkpoint is done."
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_before_log_removal";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t where f < 2.5;
+drop table t;
+#
+#
+use test;
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+SET innodb_strict_mode=OFF;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_after_truncate_done";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+select * from t;
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+select * from t where f < 2.5;
+drop table t;
+
+
+#-----------------------------------------------------------------------------
+#
+# remove test-bed
+#
+eval set global innodb_file_format = $format;
+eval set global innodb_file_per_table = $per_table;
diff --git a/mysql-test/suite/innodb/include/innodb_wl6501_crash_temp.inc b/mysql-test/suite/innodb/include/innodb_wl6501_crash_temp.inc
new file mode 100644
index 0000000..76b7b5d
--- /dev/null
+++ b/mysql-test/suite/innodb/include/innodb_wl6501_crash_temp.inc
@@ -0,0 +1,102 @@
+#
+# WL#6501: make truncate table atomic
+#
+
+--source include/have_innodb.inc
+--source include/have_debug.inc
+--source include/big_test.inc
+
+# Valgrind would complain about memory leaks when we crash on purpose.
+--source include/not_valgrind.inc
+# Embedded server does not support crashing
+--source include/not_embedded.inc
+# Avoid CrashReporter popup on Mac
+--source include/not_crashrep.inc
+
+# suppress expected warnings
+call mtr.add_suppression("does not exist in the InnoDB internal");
+
+################################################################################
+#
+# Will test following scenarios:
+# 1. Hit crash point on completing drop of all indexes before creation of index
+#    is commenced.
+# 2. Hit crash point after data is updated to system-table and in-memory dict.
+#
+################################################################################
+
+#-----------------------------------------------------------------------------
+#
+# create test-bed
+#
+let $per_table = `select @@innodb_file_per_table`;
+let $format = `select @@innodb_file_format`;
+
+eval set global innodb_file_per_table = on;
+let $WL6501_TMP_DIR = `select @@tmpdir`;
+let $WL6501_DATA_DIR = `select @@datadir`;
+let SEARCH_FILE = $MYSQLTEST_VARDIR/log/my_restart.err;
+
+#-----------------------------------------------------------------------------
+#
+# 1. Hit crash point on completing drop of all indexes before creation of index
+#    is commenced.
+#
+--echo "1. Hit crash point on completing drop of all indexes before creation"
+--echo "   of index is commenced."
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+set innodb_strict_mode=off;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+
+#-----------------------------------------------------------------------------
+#
+# 2. Hit crash point after data is updated to system-table and in-memory dict.
+#
+--echo "2. Hit crash point after data is updated to system-table and"
+--echo "   in-memory dict."
+eval set global innodb_file_per_table = $wl6501_file_per_table;
+eval set global innodb_file_format = $wl6501_file_format;
+set innodb_strict_mode=off;
+--disable_warnings
+eval create $wl6501_temp table t (
+	i int, f float, c char,
+	primary key pk(i), unique findex(f), index ck(c))
+	engine = innodb row_format = $wl6501_row_fmt
+	key_block_size = $wl6501_kbs;
+--enable_warnings
+insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
+select * from t;
+check table t;
+#
+set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
+--source include/expect_crash.inc
+--error 2013
+truncate table t;
+#
+--source include/start_mysqld.inc
+check table t;
+
+#-----------------------------------------------------------------------------
+#
+# remove test-bed
+#
+eval set global innodb_file_format = $format;
+eval set global innodb_file_per_table = $per_table;
diff --git a/mysql-test/suite/innodb/r/innodb-wl5522-debug.result b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
index 0c914eb..2d312a3 100644
--- a/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
+++ b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result
@@ -1,3 +1,12 @@
+call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation.");
+call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified.");
+call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
+call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: .*");
+call mtr.add_suppression("InnoDB: Tablespace flags: .*");
+call mtr.add_suppression("InnoDB: Ignoring tablespace .* because it could not be opened.");
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .*");
+call mtr.add_suppression("InnoDB: Page 0 at offset 0 looks corrupted in file .*");
 SET GLOBAL innodb_file_per_table = 1;
 SELECT @@innodb_file_per_table;
 @@innodb_file_per_table
@@ -444,7 +453,7 @@ ERROR HY000: Tablespace has been discarded for table 't1'
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="+d,ib_import_internal_error";
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: While updating the <space, root page number> of index "GEN_CLUST_INDEX" - Generic error
+ERROR HY000: Internal error: While updating the <space, root page number> of index GEN_CLUST_INDEX - Generic error
 SET SESSION debug_dbug="-d,ib_import_internal_error";
 restore: t1 .ibd and .cfg files
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
@@ -456,7 +465,7 @@ ERROR HY000: Tablespace has been discarded for table 't1'
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="+d,ib_import_reset_space_and_lsn_failure";
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Too many concurrent transactions
+ERROR HY000: Internal error: Cannot reset LSNs in table "test_wl5522"."t1" : Too many concurrent transactions
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="-d,ib_import_reset_space_and_lsn_failure";
 SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
@@ -797,7 +806,7 @@ t1	CREATE TABLE `t1` (
   KEY `idx1` (`c2`),
   KEY `idx2` (`c3`(512)),
   KEY `idx3` (`c4`(512))
-) ENGINE=InnoDB AUTO_INCREMENT=185 DEFAULT CHARSET=latin1
+) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=latin1
 DROP TABLE test_wl5522.t1;
 CREATE TABLE test_wl5522.t1 (c1 INT, c2 VARCHAR(1024), c3 BLOB) ENGINE = Innodb;
 INSERT INTO test_wl5522.t1 VALUES
@@ -826,7 +835,7 @@ ERROR HY000: Tablespace has been discarded for table 't1'
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="+d,ib_import_trigger_corruption_1";
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+ERROR HY000: Internal error: Cannot reset LSNs in table "test_wl5522"."t1" : Data structure corruption
 SET SESSION debug_dbug="-d,ib_import_trigger_corruption_1";
 DROP TABLE test_wl5522.t1;
 unlink: t1.ibd
@@ -838,7 +847,7 @@ ERROR HY000: Tablespace has been discarded for table 't1'
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="+d,buf_page_is_corrupt_failure";
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Data structure corruption
+ERROR HY000: Internal error: Cannot reset LSNs in table "test_wl5522"."t1" : Data structure corruption
 SET SESSION debug_dbug="-d,buf_page_is_corrupt_failure";
 DROP TABLE test_wl5522.t1;
 unlink: t1.ibd
@@ -850,7 +859,7 @@ ERROR HY000: Tablespace has been discarded for table 't1'
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="+d,ib_import_trigger_corruption_2";
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
-ERROR HY000: Index corrupt: Externally stored column(5) has a reference length of 19 in the cluster index "GEN_CLUST_INDEX"
+ERROR HY000: Index corrupt: Externally stored column(5) has a reference length of 19 in the cluster index GEN_CLUST_INDEX
 SET SESSION debug_dbug="-d,ib_import_trigger_corruption_2";
 DROP TABLE test_wl5522.t1;
 unlink: t1.ibd
@@ -910,7 +919,7 @@ ERROR HY000: Tablespace has been discarded for table 't1'
 restore: t1 .ibd and .cfg files
 SET SESSION debug_dbug="+d,fsp_flags_is_valid_failure";
 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE;
-ERROR HY000: Internal error: Cannot reset LSNs in table '"test_wl5522"."t1"' : Unsupported
+ERROR HY000: Internal error: Cannot reset LSNs in table "test_wl5522"."t1" : Unsupported
 SET SESSION debug_dbug="-d,fsp_flags_is_valid_failure";
 DROP TABLE test_wl5522.t1;
 unlink: t1.ibd
@@ -922,4 +931,8 @@ set global innodb_monitor_enable = default;
 set global innodb_monitor_disable = default;
 set global innodb_monitor_reset = default;
 set global innodb_monitor_reset_all = default;
+Warnings:
+Error	145	Table './mtr/test_suppressions' is marked as crashed and should be repaired
+Error	1194	Table 'test_suppressions' is marked as crashed and should be repaired
+Error	1034	1 client is using or hasn't closed the table properly
 SET GLOBAL INNODB_FILE_PER_TABLE=1;
diff --git a/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result b/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result
index c2a8ba1..f35e415 100644
--- a/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result
+++ b/mysql-test/suite/innodb/r/innodb_simulate_comp_failures.result
@@ -2,7 +2,16 @@
 # Testing robustness against random compression failures
 #
 CREATE TABLE t1(id INT AUTO_INCREMENT PRIMARY KEY, msg VARCHAR(255), KEY msg_i(msg)) ENGINE=INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;
+SHOW CREATE TABLE t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `msg` varchar(255) DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `msg_i` (`msg`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8
 SET GLOBAL innodb_simulate_comp_failures = 25;
-SELECT COUNT(*) FROM t1;
-COUNT(*)
+COMMIT;
+SELECT COUNT(id) FROM t1;
+COUNT(id)
 1500
diff --git a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
index 9c0c11f..05c4c04 100644
--- a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
+++ b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test
@@ -15,6 +15,16 @@
 
 -- source include/have_innodb.inc
 
+call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation.");
+call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified.");
+call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.");
+call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: .*");
+call mtr.add_suppression("InnoDB: Tablespace flags: .*");
+call mtr.add_suppression("InnoDB: Ignoring tablespace .* because it could not be opened.");
+call mtr.add_suppression("InnoDB: Tablespace for table .* is set as discarded.");
+call mtr.add_suppression("InnoDB: Cannot calculate statistics for table .*");
+call mtr.add_suppression("InnoDB: Page 0 at offset 0 looks corrupted in file .*");
+
 let MYSQLD_DATADIR =`SELECT @@datadir`;
 let $innodb_file_per_table = `SELECT @@innodb_file_per_table`;
 let $pathfix=/: '.*test_wl5522.*t1.ibd'/: 'test_wl5522\\t1.ibd'/;
diff --git a/mysql-test/suite/innodb_zip/r/16k.result b/mysql-test/suite/innodb_zip/r/16k.result
index 8604932..fbdd44f 100644
--- a/mysql-test/suite/innodb_zip/r/16k.result
+++ b/mysql-test/suite/innodb_zip/r/16k.result
@@ -5,10 +5,6 @@ WHERE LOWER(variable_name) = 'innodb_page_size';
 variable_value
 16384
 # Test 2) The number of buffer pool pages is dependent upon the page size.
-SELECT variable_value FROM information_schema.global_status
-WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
-variable_value
-512
 # Test 3) Query some information_shema tables that are dependent upon
 #         the page size.
 SELECT	t.name table_name, t.n_cols, t.flag table_flags,
diff --git a/mysql-test/suite/innodb_zip/r/wl6501_1.result b/mysql-test/suite/innodb_zip/r/wl6501_1.result
index 4337275..bf90180 100644
--- a/mysql-test/suite/innodb_zip/r/wl6501_1.result
+++ b/mysql-test/suite/innodb_zip/r/wl6501_1.result
@@ -94,6 +94,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_during_drop_index_temp_table";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_during_drop_index_temp_table point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -118,6 +120,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_drop_of_sec_index point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -142,6 +146,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_drop_of_sec_index point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -166,6 +172,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_drop_of_sec_index point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -190,6 +198,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_drop_of_sec_index point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -300,6 +310,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_drop_reinit_done_create_to_start";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_drop_reinit_done_create_to_start---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -324,6 +336,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_create_of_sec_index---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -348,6 +362,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_create_of_sec_index---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -372,6 +388,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_create_of_sec_index---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -396,6 +414,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_on_create_of_sec_index---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -506,6 +526,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_before_log_removal";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_before_log_removal point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -530,6 +552,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_before_log_removal";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_before_log_removal point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -554,6 +578,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_before_log_removal";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_before_log_removal point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -578,6 +604,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_before_log_removal";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_before_log_removal point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -688,6 +716,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -712,6 +742,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -736,6 +768,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -760,6 +794,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -870,6 +906,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -894,6 +932,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -918,6 +958,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -942,6 +984,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_truncate_done point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -1052,6 +1096,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_redo_log_write_complete point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -1076,6 +1122,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_redo_log_write_complete point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -1100,6 +1148,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_redo_log_write_complete point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
@@ -1124,6 +1174,8 @@ select count(*) from t6;
 count(*)
 3
 set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 "---debug ib_trunc_crash_after_redo_log_write_complete point---"
 # Write file to make mysql-test-run.pl expect crash and restart
 # Run the crashing query
diff --git a/mysql-test/suite/innodb_zip/r/wl6501_crash_3.result b/mysql-test/suite/innodb_zip/r/wl6501_crash_3.result
index 23acb33..e874ab1 100644
--- a/mysql-test/suite/innodb_zip/r/wl6501_crash_3.result
+++ b/mysql-test/suite/innodb_zip/r/wl6501_crash_3.result
@@ -24,9 +24,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_while_writing_redo_log";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -62,9 +63,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_after_redo_log_write_complete";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -103,9 +105,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_drop_of_clust_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -143,9 +146,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_drop_of_uniq_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -183,9 +187,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_drop_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -225,9 +230,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -266,9 +272,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_create_of_clust_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -306,9 +313,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_create_of_uniq_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -346,9 +354,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_create_of_sec_index";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -388,9 +397,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -429,9 +439,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_before_log_removal";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
@@ -464,9 +475,10 @@ check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
 set session debug = "+d,ib_trunc_crash_after_truncate_done";
+Warnings:
+Warning	1287	'@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
 truncate table t;
 ERROR HY000: Lost connection to MySQL server during query
-# restart
 check table t;
 Table	Op	Msg_type	Msg_text
 test.t	check	status	OK
diff --git a/mysql-test/suite/innodb_zip/t/16k.test b/mysql-test/suite/innodb_zip/t/16k.test
index 2885d13..884a729 100644
--- a/mysql-test/suite/innodb_zip/t/16k.test
+++ b/mysql-test/suite/innodb_zip/t/16k.test
@@ -19,11 +19,14 @@ SELECT variable_value FROM information_schema.global_status
 --enable_warnings
 
 --echo # Test 2) The number of buffer pool pages is dependent upon the page size.
---disable_warnings
---replace_result 1535 {checked_valid} 1536 {checked_valid}
-SELECT variable_value FROM information_schema.global_status
-       WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
---enable_warnings
+#
+# buffer pool pages is dependent upon buffer pool size and what other
+# tests are run concurrently
+#--disable_warnings
+#--replace_result 1535 {checked_valid} 1536 {checked_valid}
+#SELECT variable_value FROM information_schema.global_status
+#       WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total';
+#--enable_warnings
 
 --echo # Test 3) Query some information_shema tables that are dependent upon
 --echo #         the page size.
diff --git a/storage/innobase/buf/buf0buf.cc b/storage/innobase/buf/buf0buf.cc
index bc4efa4..9dacc08 100644
--- a/storage/innobase/buf/buf0buf.cc
+++ b/storage/innobase/buf/buf0buf.cc
@@ -809,6 +809,8 @@ buf_page_is_corrupted(
 	ulint		checksum_field1;
 	ulint		checksum_field2;
 
+	DBUG_EXECUTE_IF("buf_page_is_corrupt_failure", return(TRUE); );
+
 	if (!page_encrypted && !page_size.is_compressed()
 	    && memcmp(read_buf + FIL_PAGE_LSN + 4,
 		      read_buf + page_size.logical()
@@ -5984,6 +5986,17 @@ buf_page_io_complete(
 
 			/* Not a real corruption if it was triggered by
 			error injection */
+			DBUG_EXECUTE_IF("buf_page_is_corrupt_failure",
+				if (bpage->space > TRX_SYS_SPACE
+				    && buf_mark_space_corrupt(bpage)) {
+					ib::info() <<
+						"Simulated page corruption";
+					return(true);
+				}
+				goto page_not_corrupt_1;
+				;);
+			/* Not a real corruption if it was triggered by
+			error injection */
 			DBUG_EXECUTE_IF(
 				"buf_page_import_corrupt_failure",
 				if (bpage->id.space() > TRX_SYS_SPACE
@@ -6064,6 +6077,9 @@ buf_page_io_complete(
 		DBUG_EXECUTE_IF("buf_page_import_corrupt_failure",
 				page_not_corrupt:  bpage = bpage; );
 
+		DBUG_EXECUTE_IF("buf_page_is_corrupt_failure",
+				page_not_corrupt_1:  bpage = bpage; );
+
 		if (recv_recovery_is_on()) {
 			/* Pages must be uncompressed for crash recovery. */
 			ut_a(uncompressed);
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index 3d34de6..4af92a5 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -1459,7 +1459,8 @@ fil_space_get_space(
 		/* We are still holding the fil_system->mutex. Check if
 		the space is still in memory cache. */
 		space = fil_space_get_by_id(id);
-		if (space == NULL) {
+
+		if (space == NULL || UT_LIST_GET_LEN(space->chain) == 0) {
 			return(NULL);
 		}
 
diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc
index 5904045..10051fc 100644
--- a/storage/innobase/handler/handler0alter.cc
+++ b/storage/innobase/handler/handler0alter.cc
@@ -7600,7 +7600,8 @@ commit_get_autoinc(
 			old_table->found_next_number_field;
 
 		dict_index_t*	index = dict_table_get_index_on_first_col(
-			ctx->old_table, autoinc_field->field_index);
+			ctx->old_table, autoinc_field->field_index,
+			autoinc_field->field_name);
 
 		max_autoinc = ha_alter_info->create_info->auto_increment_value;
 
diff --git a/storage/innobase/include/dict0dict.h b/storage/innobase/include/dict0dict.h
index 5022245..ccef08f 100644
--- a/storage/innobase/include/dict0dict.h
+++ b/storage/innobase/include/dict0dict.h
@@ -2138,8 +2138,9 @@ dict_index_t*
 dict_table_get_index_on_first_col(
 /*==============================*/
 	const dict_table_t*	table,		/*!< in: table */
-	ulint			col_index);	/*!< in: position of column
+	ulint			col_index,	/*!< in: position of column
 						in table */
+	const char*		field_name);	/*!< in: field name */
 /** Check if a column is a virtual column
 @param[in]	col	column
 @return true if it is a virtual column, false otherwise */
diff --git a/storage/innobase/include/dict0dict.ic b/storage/innobase/include/dict0dict.ic
index 1a038d4..8165263 100644
--- a/storage/innobase/include/dict0dict.ic
+++ b/storage/innobase/include/dict0dict.ic
@@ -1919,8 +1919,9 @@ dict_index_t*
 dict_table_get_index_on_first_col(
 /*==============================*/
         const dict_table_t*     table,		/*!< in: table */
-        ulint                   col_index)	/*!< in: position of column
+        ulint                   col_index,	/*!< in: position of column
 						in table */
+	const char*             field_name)     /*!< in: field name */
 {
 	ut_ad(col_index < table->n_cols);
 
@@ -1933,6 +1934,14 @@ dict_table_get_index_on_first_col(
 			return(index);
 		}
 	}
+
+	/* If not yet found use field_name */
+	for (dict_index_t* index = dict_table_get_first_index(table);
+		index != NULL; index = dict_table_get_next_index(index)) {
+		if (!strcmp(index->fields[0].name, field_name)) {
+			return (index);
+		}
+	}
 	ut_error;
 	return(0);
 }


More information about the commits mailing list