Commit f0eb8f15 authored by Jan Lindström's avatar Jan Lindström

MDEV-12628: innodb.innodb_bug14147491 sporadically fails in buildbot due to wrong error number

Actual error number returned from the query depends what point
corrupted page is accessed, is it accessed when we read
one of the pages for result set or is it accessed during
background page read.
parent 1e227d88
......@@ -6,17 +6,12 @@ INSERT INTO t1 (b) VALUES ('corrupt me');
# Corrupt the table
Munged a string.
Munged a string.
# The below SELECT query will return that table is not
# in engine because table is corrupted
# Now t1 is corrupted but we should not crash
SELECT * FROM t1;
ERROR 42S02: Table 'test.t1' doesn't exist in engine
Got one of the listed errors
INSERT INTO t1(b) VALUES('abcdef');
ERROR 42S02: Table 'test.t1' doesn't exist in engine
Got one of the listed errors
UPDATE t1 set b = 'deadbeef' where a = 1;
ERROR 42S02: Table 'test.t1' doesn't exist in engine
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check Error Table 'test.t1' doesn't exist in engine
test.t1 check status Operation failed
# Cleanup
Got one of the listed errors
# Cleanup, this must be possible
DROP TABLE t1;
......@@ -11,6 +11,8 @@
call mtr.add_suppression("InnoDB: Table `test`.`t1` is corrupted. Please drop the table and recreate.");
call mtr.add_suppression("InnoDB: Cannot open table test/t1 from the internal data dictionary of InnoDB though the .frm file for the table exists. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.");
call mtr.add_suppression("InnoDB: Database page corruption on disk or a failed file read of tablespace test/t1 page \[page id: space=[0-9]+, page number=[0-9]+\]. You may have to recover from a backup.");
call mtr.add_suppression("InnoDB: We detected index corruption in an InnoDB type table.*");
call mtr.add_suppression("mysqld: Index for table 't1' is corrupt; try to repair it");
--enable_query_log
--echo # Create and populate the table to be corrupted
......@@ -63,18 +65,16 @@ EOF
--source include/start_mysqld.inc
--echo # The below SELECT query will return that table is not
--echo # in engine because table is corrupted
--error ER_NO_SUCH_TABLE_IN_ENGINE
--echo # Now t1 is corrupted but we should not crash
--error 1030,1712,1932
SELECT * FROM t1;
--error ER_NO_SUCH_TABLE_IN_ENGINE
--error 126,1030,1034,1712,1932
INSERT INTO t1(b) VALUES('abcdef');
--error ER_NO_SUCH_TABLE_IN_ENGINE
--error 1030,1712,1932
UPDATE t1 set b = 'deadbeef' where a = 1;
CHECK TABLE t1;
--echo # Cleanup
--echo # Cleanup, this must be possible
DROP TABLE t1;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment