From: Kent Boortz Date: March 22 2011 1:13pm Subject: bzr commit into mysql-5.5 branch (kent.boortz:3391) List-Archive: http://lists.mysql.com/commits/133525 Message-Id: <20110322131410.19984.qmail@helheim> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1087420411==" --===============1087420411== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///net/helheim/store/bteam/bzr/tryit/mysql-5.5/ based on revid:georgi.kodinov@stripped 3391 Kent Boortz 2011-03-22 [merge] Merge modified: mysql-test/r/innodb_mysql_lock.result mysql-test/r/innodb_mysql_sync.result mysql-test/t/innodb_mysql_lock.test mysql-test/t/innodb_mysql_sync.test storage/innobase/handler/ha_innodb.cc === modified file 'mysql-test/r/innodb_mysql_lock.result' --- a/mysql-test/r/innodb_mysql_lock.result 2010-06-26 20:23:28 +0000 +++ b/mysql-test/r/innodb_mysql_lock.result 2011-03-09 15:06:13 +0000 @@ -148,3 +148,25 @@ COMMIT; # Connection default DROP TABLE t1, t2; DROP VIEW v1; +# +# Bug#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY +# KEY NO 0 FOR TABLE IN ERROR LOG +# +DROP TABLE IF EXISTS t1; +# Connection default +CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB; +INSERT INTO t1 VALUES (1, 12345); +START TRANSACTION; +SELECT * FROM t1; +id value +1 12345 +# Connection con1 +SET lock_wait_timeout=1; +ALTER TABLE t1 ADD INDEX idx(value); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +# Connection default +SELECT * FROM t1; +id value +1 12345 +COMMIT; +DROP TABLE t1; === modified file 'mysql-test/r/innodb_mysql_sync.result' --- a/mysql-test/r/innodb_mysql_sync.result 2011-03-07 13:30:49 +0000 +++ b/mysql-test/r/innodb_mysql_sync.result 2011-03-22 13:08:15 +0000 @@ -94,74 +94,6 @@ SET DEBUG_SYNC= 'RESET'; # Bug#42230 during add index, cannot do queries on storage engines # that implement add_index # -DROP DATABASE IF EXISTS db1; -DROP TABLE IF EXISTS t1; -# Test 1: Secondary index, should not block reads (original test case). -# Connection default -CREATE DATABASE db1; -CREATE TABLE db1.t1(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT) engine=innodb; -INSERT INTO db1.t1(value) VALUES (1), (2); -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; -# Sending: -ALTER TABLE db1.t1 ADD INDEX(value); -# Connection con1 -SET DEBUG_SYNC= "now WAIT_FOR manage"; -USE db1; -SELECT * FROM t1; -id value -1 1 -2 2 -SET DEBUG_SYNC= "now SIGNAL query"; -# Connection default -# Reaping: ALTER TABLE db1.t1 ADD INDEX(value) -DROP DATABASE db1; -# Test 2: Primary index (implicit), should block reads. -CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb; -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; -# Sending: -ALTER TABLE t1 ADD UNIQUE INDEX(a); -# Connection con1 -SET DEBUG_SYNC= "now WAIT_FOR manage"; -USE test; -# Sending: -SELECT * FROM t1; -# Connection con2 -# Waiting for SELECT to be blocked by the metadata lock on t1 -SET DEBUG_SYNC= "now SIGNAL query"; -# Connection default -# Reaping: ALTER TABLE t1 ADD UNIQUE INDEX(a) -# Connection con1 -# Reaping: SELECT * FROM t1 -a b -# Test 3: Primary index (explicit), should block reads. -# Connection default -ALTER TABLE t1 DROP INDEX a; -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; -# Sending: -ALTER TABLE t1 ADD PRIMARY KEY (a); -# Connection con1 -SET DEBUG_SYNC= "now WAIT_FOR manage"; -# Sending: -SELECT * FROM t1; -# Connection con2 -# Waiting for SELECT to be blocked by the metadata lock on t1 -SET DEBUG_SYNC= "now SIGNAL query"; -# Connection default -# Reaping: ALTER TABLE t1 ADD PRIMARY KEY (a) -# Connection con1 -# Reaping: SELECT * FROM t1 -a b -# Test 4: Secondary unique index, should not block reads. -# Connection default -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; -# Sending: -ALTER TABLE t1 ADD UNIQUE (b); -# Connection con1 -SET DEBUG_SYNC= "now WAIT_FOR manage"; -SELECT * FROM t1; -a b -SET DEBUG_SYNC= "now SIGNAL query"; -# Connection default -# Reaping: ALTER TABLE t1 ADD UNIQUE (b) -SET DEBUG_SYNC= "RESET"; -DROP TABLE t1; +# +# DISABLED due to Bug#11815600 +# === modified file 'mysql-test/t/innodb_mysql_lock.test' --- a/mysql-test/t/innodb_mysql_lock.test 2010-08-06 11:29:37 +0000 +++ b/mysql-test/t/innodb_mysql_lock.test 2011-03-09 15:06:13 +0000 @@ -279,6 +279,38 @@ disconnect con2; disconnect con3; +--echo # +--echo # Bug#11815600 [ERROR] INNODB COULD NOT FIND INDEX PRIMARY +--echo # KEY NO 0 FOR TABLE IN ERROR LOG +--echo # + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +--connect (con1,localhost,root) + +--echo # Connection default +connection default; +CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB; +INSERT INTO t1 VALUES (1, 12345); +START TRANSACTION; +SELECT * FROM t1; + +--echo # Connection con1 +--connection con1 +SET lock_wait_timeout=1; +--error ER_LOCK_WAIT_TIMEOUT +ALTER TABLE t1 ADD INDEX idx(value); + +--echo # Connection default +--connection default +SELECT * FROM t1; +COMMIT; +DROP TABLE t1; +disconnect con1; + + # Check that all connections opened by test cases in this file are really # gone so execution of other tests won't be affected by their presence. --source include/wait_until_count_sessions.inc === modified file 'mysql-test/t/innodb_mysql_sync.test' --- a/mysql-test/t/innodb_mysql_sync.test 2011-03-07 13:30:49 +0000 +++ b/mysql-test/t/innodb_mysql_sync.test 2011-03-22 13:08:15 +0000 @@ -152,129 +152,133 @@ disconnect con1; --echo # that implement add_index --echo # ---disable_warnings -DROP DATABASE IF EXISTS db1; -DROP TABLE IF EXISTS t1; ---enable_warnings - -connect(con1,localhost,root); -connect(con2,localhost,root); - ---echo # Test 1: Secondary index, should not block reads (original test case). - ---echo # Connection default -connection default; -CREATE DATABASE db1; -CREATE TABLE db1.t1(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT) engine=innodb; -INSERT INTO db1.t1(value) VALUES (1), (2); -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; ---echo # Sending: ---send ALTER TABLE db1.t1 ADD INDEX(value) - ---echo # Connection con1 -connection con1; -SET DEBUG_SYNC= "now WAIT_FOR manage"; -# Neither of these two statements should be blocked -USE db1; -SELECT * FROM t1; -SET DEBUG_SYNC= "now SIGNAL query"; - ---echo # Connection default -connection default; ---echo # Reaping: ALTER TABLE db1.t1 ADD INDEX(value) ---reap -DROP DATABASE db1; - ---echo # Test 2: Primary index (implicit), should block reads. - -CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb; -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; ---echo # Sending: ---send ALTER TABLE t1 ADD UNIQUE INDEX(a) - ---echo # Connection con1 -connection con1; -SET DEBUG_SYNC= "now WAIT_FOR manage"; -USE test; ---echo # Sending: ---send SELECT * FROM t1 - ---echo # Connection con2 -connection con2; ---echo # Waiting for SELECT to be blocked by the metadata lock on t1 -let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist - WHERE state= 'Waiting for table metadata lock' - AND info='SELECT * FROM t1'; ---source include/wait_condition.inc -SET DEBUG_SYNC= "now SIGNAL query"; - ---echo # Connection default -connection default; ---echo # Reaping: ALTER TABLE t1 ADD UNIQUE INDEX(a) ---reap - ---echo # Connection con1 -connection con1; ---echo # Reaping: SELECT * FROM t1 ---reap - ---echo # Test 3: Primary index (explicit), should block reads. - ---echo # Connection default -connection default; -ALTER TABLE t1 DROP INDEX a; -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; ---echo # Sending: ---send ALTER TABLE t1 ADD PRIMARY KEY (a) - ---echo # Connection con1 -connection con1; -SET DEBUG_SYNC= "now WAIT_FOR manage"; ---echo # Sending: ---send SELECT * FROM t1 - ---echo # Connection con2 -connection con2; ---echo # Waiting for SELECT to be blocked by the metadata lock on t1 -let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist - WHERE state= 'Waiting for table metadata lock' - AND info='SELECT * FROM t1'; ---source include/wait_condition.inc -SET DEBUG_SYNC= "now SIGNAL query"; - ---echo # Connection default -connection default; ---echo # Reaping: ALTER TABLE t1 ADD PRIMARY KEY (a) ---reap - ---echo # Connection con1 -connection con1; ---echo # Reaping: SELECT * FROM t1 ---reap - ---echo # Test 4: Secondary unique index, should not block reads. - ---echo # Connection default -connection default; -SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; ---echo # Sending: ---send ALTER TABLE t1 ADD UNIQUE (b) - ---echo # Connection con1 -connection con1; -SET DEBUG_SYNC= "now WAIT_FOR manage"; -SELECT * FROM t1; -SET DEBUG_SYNC= "now SIGNAL query"; - ---echo # Connection default -connection default; ---echo # Reaping: ALTER TABLE t1 ADD UNIQUE (b) ---reap +--echo # +--echo # DISABLED due to Bug#11815600 +--echo # -disconnect con1; -disconnect con2; -SET DEBUG_SYNC= "RESET"; -DROP TABLE t1; +#--disable_warnings +#DROP DATABASE IF EXISTS db1; +#DROP TABLE IF EXISTS t1; +#--enable_warnings +# +#connect(con1,localhost,root); +#connect(con2,localhost,root); +# +#--echo # Test 1: Secondary index, should not block reads (original test case). +# +#--echo # Connection default +#connection default; +#CREATE DATABASE db1; +#CREATE TABLE db1.t1(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, value INT) engine=innodb; +#INSERT INTO db1.t1(value) VALUES (1), (2); +#SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; +#--echo # Sending: +#--send ALTER TABLE db1.t1 ADD INDEX(value) +# +#--echo # Connection con1 +#connection con1; +#SET DEBUG_SYNC= "now WAIT_FOR manage"; +# # Neither of these two statements should be blocked +#USE db1; +#SELECT * FROM t1; +#SET DEBUG_SYNC= "now SIGNAL query"; +# +#--echo # Connection default +#connection default; +#--echo # Reaping: ALTER TABLE db1.t1 ADD INDEX(value) +#--reap +#DROP DATABASE db1; +# +#--echo # Test 2: Primary index (implicit), should block reads. +# +#CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb; +#SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; +#--echo # Sending: +#--send ALTER TABLE t1 ADD UNIQUE INDEX(a) +# +#--echo # Connection con1 +#connection con1; +#SET DEBUG_SYNC= "now WAIT_FOR manage"; +#USE test; +#--echo # Sending: +#--send SELECT * FROM t1 +# +#--echo # Connection con2 +#connection con2; +#--echo # Waiting for SELECT to be blocked by the metadata lock on t1 +#let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist +# WHERE state= 'Waiting for table metadata lock' +# AND info='SELECT * FROM t1'; +#--source include/wait_condition.inc +#SET DEBUG_SYNC= "now SIGNAL query"; +# +#--echo # Connection default +#connection default; +#--echo # Reaping: ALTER TABLE t1 ADD UNIQUE INDEX(a) +#--reap +# +#--echo # Connection con1 +#connection con1; +#--echo # Reaping: SELECT * FROM t1 +#--reap +# +#--echo # Test 3: Primary index (explicit), should block reads. +# +#--echo # Connection default +#connection default; +#ALTER TABLE t1 DROP INDEX a; +#SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; +#--echo # Sending: +#--send ALTER TABLE t1 ADD PRIMARY KEY (a) +# +#--echo # Connection con1 +#connection con1; +#SET DEBUG_SYNC= "now WAIT_FOR manage"; +#--echo # Sending: +#--send SELECT * FROM t1 +# +#--echo # Connection con2 +#connection con2; +#--echo # Waiting for SELECT to be blocked by the metadata lock on t1 +#let $wait_condition= SELECT COUNT(*)= 1 FROM information_schema.processlist +# WHERE state= 'Waiting for table metadata lock' +# AND info='SELECT * FROM t1'; +#--source include/wait_condition.inc +#SET DEBUG_SYNC= "now SIGNAL query"; +# +#--echo # Connection default +#connection default; +#--echo # Reaping: ALTER TABLE t1 ADD PRIMARY KEY (a) +#--reap +# +#--echo # Connection con1 +#connection con1; +#--echo # Reaping: SELECT * FROM t1 +#--reap +# +#--echo # Test 4: Secondary unique index, should not block reads. +# +#--echo # Connection default +#connection default; +#SET DEBUG_SYNC= "alter_table_manage_keys SIGNAL manage WAIT_FOR query"; +#--echo # Sending: +#--send ALTER TABLE t1 ADD UNIQUE (b) +# +#--echo # Connection con1 +#connection con1; +#SET DEBUG_SYNC= "now WAIT_FOR manage"; +#SELECT * FROM t1; +#SET DEBUG_SYNC= "now SIGNAL query"; +# +#--echo # Connection default +#connection default; +#--echo # Reaping: ALTER TABLE t1 ADD UNIQUE (b) +#--reap +# +#disconnect con1; +#disconnect con2; +#SET DEBUG_SYNC= "RESET"; +#DROP TABLE t1; # Check that all connections opened by test cases in this file are really === modified file 'storage/innobase/handler/ha_innodb.cc' --- a/storage/innobase/handler/ha_innodb.cc 2011-03-16 14:11:20 +0000 +++ b/storage/innobase/handler/ha_innodb.cc 2011-03-22 13:08:15 +0000 @@ -2594,7 +2594,6 @@ innobase_alter_table_flags( uint flags) { return(HA_INPLACE_ADD_INDEX_NO_READ_WRITE - | HA_INPLACE_ADD_INDEX_NO_WRITE | HA_INPLACE_DROP_INDEX_NO_READ_WRITE | HA_INPLACE_ADD_UNIQUE_INDEX_NO_READ_WRITE | HA_INPLACE_ADD_UNIQUE_INDEX_NO_WRITE --===============1087420411== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/kent.boortz@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: kent.boortz@stripped # target_branch: file:///net/helheim/store/bteam/bzr/tryit/mysql-5.5/ # testament_sha1: d287f5410bf6cda0e201e35d7b745b935b033bed # timestamp: 2011-03-22 14:14:10 +0100 # source_branch: file:///net/helheim/store/bteam/bzr/tryit/mysql-\ # 5.5.11-release/ # base_revision_id: georgi.kodinov@stripped\ # vlnfc6r6jbd84nwo # # Begin bundle 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 --===============1087420411==--