From e1efeaa5502f640102881f415d604cc10fbf54a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Mon, 8 May 2017 12:04:08 +0300 Subject: [PATCH] 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. --- .../suite/innodb/r/innodb_bug14147491.result | 15 +++++---------- mysql-test/suite/innodb/t/innodb_bug14147491.test | 14 ++++++-------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/mysql-test/suite/innodb/r/innodb_bug14147491.result b/mysql-test/suite/innodb/r/innodb_bug14147491.result index e0e3bc6e555..989e433338e 100644 --- a/mysql-test/suite/innodb/r/innodb_bug14147491.result +++ b/mysql-test/suite/innodb/r/innodb_bug14147491.result @@ -9,17 +9,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; diff --git a/mysql-test/suite/innodb/t/innodb_bug14147491.test b/mysql-test/suite/innodb/t/innodb_bug14147491.test index 6b77e347a5d..c21515e7d05 100644 --- a/mysql-test/suite/innodb/t/innodb_bug14147491.test +++ b/mysql-test/suite/innodb/t/innodb_bug14147491.test @@ -65,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 1932 +--echo # Now t1 is corrupted but we should not crash + +--error 1712,1932 SELECT * FROM t1; ---error 1932 +--error 1034,1712,1932 INSERT INTO t1(b) VALUES('abcdef'); ---error 1932 +--error 1712,1932 UPDATE t1 set b = 'deadbeef' where a = 1; -CHECK TABLE t1; - ---echo # Cleanup +--echo # Cleanup, this must be possible DROP TABLE t1;