From: Sunanda Menon Date: March 22 2011 1:34pm Subject: bzr commit into mysql-5.5 branch (sunanda.menon:3387) List-Archive: http://lists.mysql.com/commits/133527 Message-Id: <20110322133426.21869.qmail@helheim> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1271086629==" --===============1271086629== 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/mysql-5.5.11-release/ based on revid:georgi.kodinov@stripped 3387 Sunanda Menon 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:34:04 +0000 @@ -94,74 +94,7 @@ 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:34:04 +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:34:04 +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 --===============1271086629== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/sunanda.menon@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: sunanda.menon@stripped\ # 662pqgdd8ctrk54b # target_branch: file:///net/helheim/store/bteam/bzr/mysql-5.5.11-\ # release/ # testament_sha1: ab55df9257dad3d2e874a751b2a359c0350c06fb # timestamp: 2011-03-22 14:34:26 +0100 # source_branch: bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-\ # 5.5.10-release/ # base_revision_id: georgi.kodinov@stripped\ # u8u9kaz20zyum2eb # # Begin bundle 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 3F3JFOFCQ5xDSYA= --===============1271086629==--