From: kevin.lewis Date: June 20 2012 7:39am Subject: bzr push into mysql-trunk branch (kevin.lewis:4026 to 4027) List-Archive: http://lists.mysql.com/commits/144270 Message-Id: <20120620073930.1E79D233D257@kevin-lewis-macbook.local> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4027 kevin.lewis@stripped 2012-06-20 PB2 failure on some Windows platforms. This patch was initiated by me and improved by Sunny. Approved to commit by Sunny over email. modified: mysql-test/suite/innodb/r/innodb-wl5522-debug.result mysql-test/suite/innodb/t/innodb-wl5522-debug.test 4026 Sunny Bains 2012-06-20 BUG#13016100 - ASSERTION FAILURE IN FILE TRX0PURGE.C LINE 698: PURGE_SYS->RSEG->SPACE <= SRV_UN Print the number of UNDO tablespaces that were opened successfully. Approved by Jimmy Yang over IM modified: storage/innobase/srv/srv0start.cc === modified file 'mysql-test/suite/innodb/r/innodb-wl5522-debug.result' --- a/mysql-test/suite/innodb/r/innodb-wl5522-debug.result revid:sunny.bains@stripped +++ b/mysql-test/suite/innodb/r/innodb-wl5522-debug.result revid:kevin.lewis@stripped @@ -29,10 +29,11 @@ SELECT COUNT(*) FROM test_wl5522.t1; ERROR HY000: Tablespace has been discarded for table 't1' ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE; ERROR HY000: Lost connection to MySQL server during query -SET SESSION debug="-d,ib_import_before_checkpoint_crash"; -DROP TABLE test_wl5522.t1; unlink: t1.ibd unlink: t1.cfg +# Restart and reconnect to the server +SET SESSION debug="-d,ib_import_before_checkpoint_crash"; +DROP TABLE test_wl5522.t1; SET GLOBAL innodb_file_per_table = 1; SELECT @@innodb_file_per_table; @@innodb_file_per_table @@ -905,4 +906,7 @@ call mtr.add_suppression("Unsupported ta call mtr.add_suppression("Error in page .* of index \"GEN_CLUST_INDEX\" of table \"test_wl5522\".\"t1\""); call mtr.add_suppression("Page is marked as free"); call mtr.add_suppression("t1.ibd: Page .* at offset .* looks corrupted"); +call mtr.add_suppression("Table .*t1 in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist"); +call mtr.add_suppression("Could not find a valid tablespace file for 'test_wl5522.*t1'"); +call mtr.add_suppression("Failed to find tablespace for table '\"test_wl5522\".\"t1\"' in the cache. Attempting to load the tablespace with space id .*"); SET GLOBAL INNODB_FILE_PER_TABLE=0; === modified file 'mysql-test/suite/innodb/t/innodb-wl5522-debug.test' --- a/mysql-test/suite/innodb/t/innodb-wl5522-debug.test revid:sunny.bains@stripped +++ b/mysql-test/suite/innodb/t/innodb-wl5522-debug.test revid:kevin.lewis@stripped @@ -43,11 +43,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -85,14 +80,25 @@ SET SESSION debug="+d,ib_import_before_c --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; -# Write file to make mysql-test-run.pl start up the server again ---exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +# Don't start up the server right away. +--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect # Execute the statement that causes the crash --error 2013 ALTER TABLE test_wl5522.t1 IMPORT TABLESPACE; +# After the above test the results are non-deterministic, +# delete the old tablespace files and drop the table, +# recreate the table and do a proper import. +-- source include/wait_until_disconnected.inc +perl; +do 'include/innodb-util.inc'; +ib_unlink_tablespace("test_wl5522", "t1"); +EOF + +--echo # Restart and reconnect to the server --enable_reconnect +--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect --source include/wait_until_connected_again.inc --disable_reconnect @@ -104,11 +110,6 @@ SET SESSION debug="-d,ib_import_before_c DROP TABLE test_wl5522.t1; -perl; -do 'include/innodb-util.inc'; -ib_unlink_tablespace("test_wl5522", "t1"); -EOF - SET GLOBAL innodb_file_per_table = 1; SELECT @@innodb_file_per_table; @@ -118,7 +119,6 @@ ALTER TABLE test_wl5522.t1 DISCARD TABLE perl; do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); ib_restore_tablespaces("test_wl5522", "t1"); EOF @@ -343,11 +343,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -367,11 +362,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -392,11 +382,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -417,11 +402,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -442,11 +422,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -467,11 +442,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -492,11 +462,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -517,11 +482,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -542,11 +502,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -567,11 +522,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -594,11 +544,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -631,11 +576,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -673,11 +613,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -710,11 +645,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -746,11 +676,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -781,11 +706,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -816,11 +736,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -851,11 +766,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -886,11 +796,6 @@ INSERT INTO test_wl5522.t1 VALUES (1); ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -924,11 +829,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT) ENG ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -964,11 +864,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT) ENG ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1240,11 +1135,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1276,11 +1166,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1311,11 +1196,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1346,11 +1226,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1380,11 +1255,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1407,11 +1277,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1443,11 +1308,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1479,11 +1339,6 @@ CREATE TABLE test_wl5522.t1 (c1 INT, c2 ALTER TABLE test_wl5522.t1 DISCARD TABLESPACE; -perl; -do 'include/innodb-util.inc'; -ib_discard_tablespaces("test_wl5522", "t1"); -EOF - --error ER_TABLESPACE_DISCARDED SELECT COUNT(*) FROM test_wl5522.t1; @@ -1536,6 +1391,9 @@ call mtr.add_suppression("Unsupported ta call mtr.add_suppression("Error in page .* of index \"GEN_CLUST_INDEX\" of table \"test_wl5522\".\"t1\""); call mtr.add_suppression("Page is marked as free"); call mtr.add_suppression("t1.ibd: Page .* at offset .* looks corrupted"); +call mtr.add_suppression("Table .*t1 in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist"); +call mtr.add_suppression("Could not find a valid tablespace file for 'test_wl5522.*t1'"); +call mtr.add_suppression("Failed to find tablespace for table '\"test_wl5522\".\"t1\"' in the cache. Attempting to load the tablespace with space id .*"); #cleanup --remove_file $MYSQLTEST_VARDIR/tmp/t1.cfg No bundle (reason: useless for push emails).