List:Commits« Previous MessageNext Message »
From:Dmitry Lenev Date:February 15 2011 12:19pm
Subject:bzr commit into mysql-5.5 branch (Dmitry.Lenev:3327)
View as plain text  
#At file:///home/dlenev/src/bzr/mysql-5.5-mrg/ based on revid:dmitry.lenev@stripped

 3327 Dmitry Lenev	2011-02-15 [merge]
      Merged recent changes from mysql-5.5 tree with
      fix for bug @59888.

    removed:
      mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt
    modified:
      mysql-test/extra/rpl_tests/rpl_failed_optimize.test
      mysql-test/suite/rpl/r/rpl_failed_optimize.result
      mysql-test/suite/rpl/r/rpl_read_only.result
      mysql-test/suite/rpl/t/disabled.def
      mysql-test/suite/rpl/t/rpl_read_only.test
=== modified file 'mysql-test/extra/rpl_tests/rpl_failed_optimize.test'
--- a/mysql-test/extra/rpl_tests/rpl_failed_optimize.test	2010-12-19 17:07:28 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_failed_optimize.test	2011-02-15 11:59:12 +0000
@@ -2,22 +2,24 @@
 
 #
 # BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log"
-# Replication should work when OPTIMIZE TABLE timeouts, and 
-# when OPTIMIZE TABLE is executed on a non-existing table
+# Replication should work when when OPTIMIZE TABLE is 
+# executed on a non-existing table.
 #
+# Due to patch for BUG#989, checking that an OPTIMIZE
+# that fails due to a lock wait timeout on an InnoDB table
+# is not valid anymore, as an mdl lock is hit before,
+# thence no timeout occurs, but instead a deadlock.
+#
+
 
 eval CREATE TABLE t1 ( a int ) ENGINE=$engine_type;
 BEGIN;
 INSERT INTO t1 VALUES (1);
 
 connection master1;
-OPTIMIZE TABLE t1;
-
 OPTIMIZE TABLE non_existing;  
 sync_slave_with_master;
 
-# End of 4.1 tests
-
 connection master;
 select * from t1;
 commit;

=== modified file 'mysql-test/suite/rpl/r/rpl_failed_optimize.result'
--- a/mysql-test/suite/rpl/r/rpl_failed_optimize.result	2010-12-19 17:07:28 +0000
+++ b/mysql-test/suite/rpl/r/rpl_failed_optimize.result	2011-02-15 11:59:12 +0000
@@ -3,13 +3,6 @@ include/master-slave.inc
 CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
 BEGIN;
 INSERT INTO t1 VALUES (1);
-OPTIMIZE TABLE t1;
-Table	Op	Msg_type	Msg_text
-test.t1	optimize	note	Table does not support optimize, doing recreate + analyze instead
-test.t1	optimize	error	Lock wait timeout exceeded; try restarting transaction
-test.t1	optimize	status	Operation failed
-Warnings:
-Error	1205	Lock wait timeout exceeded; try restarting transaction
 OPTIMIZE TABLE non_existing;
 Table	Op	Msg_type	Msg_text
 test.non_existing	optimize	Error	Table 'test.non_existing' doesn't exist

=== modified file 'mysql-test/suite/rpl/r/rpl_read_only.result'
--- a/mysql-test/suite/rpl/r/rpl_read_only.result	2010-12-19 17:15:12 +0000
+++ b/mysql-test/suite/rpl/r/rpl_read_only.result	2011-02-15 12:01:52 +0000
@@ -27,15 +27,26 @@ a
 2001
 set global read_only=0;
 BEGIN;
+BEGIN;
+select @@read_only;
+@@read_only
+0
+set global read_only=1;
+*** On SUPER USER connection ***
 insert into t1 values(1002);
 insert into t2 values(2002);
-BEGIN;
+*** On regular USER connection ***
 insert into t1 values(1003);
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
 insert into t2 values(2003);
-set global read_only=1;
+ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+*** SUPER USER COMMIT (must succeed) *** 
 COMMIT;
+*** regular USER COMMIT (must succeed - nothing to commit) *** 
 COMMIT;
-ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
+select @@read_only;
+@@read_only
+1
 set global read_only=0;
 insert into t1 values(1004);
 insert into t2 values(2004);
@@ -48,7 +59,6 @@ select * from t2;
 a
 2001
 2002
-2003
 2004
 select * from t1;
 a
@@ -59,7 +69,6 @@ select * from t2;
 a
 2001
 2002
-2003
 2004
 set global read_only=1;
 select @@read_only;
@@ -87,7 +96,6 @@ select * from t2;
 a
 2001
 2002
-2003
 2004
 2005
 select * from t1;
@@ -100,7 +108,6 @@ select * from t2;
 a
 2001
 2002
-2003
 2004
 2005
 insert into t1 values(1006);

=== modified file 'mysql-test/suite/rpl/t/disabled.def'
--- a/mysql-test/suite/rpl/t/disabled.def	2011-01-31 13:11:05 +0000
+++ b/mysql-test/suite/rpl/t/disabled.def	2011-02-15 12:01:52 +0000
@@ -10,8 +10,6 @@
 #
 ##############################################################################
 
-rpl_failed_optimize       : WL#4284: Can't optimize table used by a pending transaction (there is metadata lock on the table).
-rpl_read_only             : WL#4284: Setting Read only won't succeed until all metadata locks are released.
 rpl_row_create_table      : Bug#51574 2010-02-27 andrei failed different way than earlier with bug#45576
 rpl_spec_variables        : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
 rpl_get_master_version_and_clock : Bug#59178 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock

=== removed file 'mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt'
--- a/mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt	2007-06-27 12:28:02 +0000
+++ b/mysql-test/suite/rpl/t/rpl_failed_optimize-master.opt	1970-01-01 00:00:00 +0000
@@ -1 +0,0 @@
---loose-innodb-lock-wait-timeout=1

=== modified file 'mysql-test/suite/rpl/t/rpl_read_only.test'
--- a/mysql-test/suite/rpl/t/rpl_read_only.test	2010-12-19 17:15:12 +0000
+++ b/mysql-test/suite/rpl/t/rpl_read_only.test	2011-02-15 12:01:52 +0000
@@ -41,30 +41,39 @@ set global read_only=0;
 
 connection master1;
 BEGIN;
+
+connection master2;
+BEGIN;
+
+connection master;
+select @@read_only;
+set global read_only=1;
+
+connection master1;
+-- echo *** On SUPER USER connection ***
 insert into t1 values(1002);
 --disable_warnings
 insert into t2 values(2002);
 --enable_warnings
 
 connection master2;
-BEGIN;
+-- echo *** On regular USER connection ***
+--error ER_OPTION_PREVENTS_STATEMENT
 insert into t1 values(1003);
---disable_warnings
+--error ER_OPTION_PREVENTS_STATEMENT
 insert into t2 values(2003);
---enable_warnings
-
-connection master;
-set global read_only=1;
 
 connection master1;
 ## works even with read_only=1, because master1 is root
+-- echo *** SUPER USER COMMIT (must succeed) *** 
 COMMIT;
 
 connection master2;
---error ER_OPTION_PREVENTS_STATEMENT
+-- echo *** regular USER COMMIT (must succeed - nothing to commit) *** 
 COMMIT;
 
 connection master;
+select @@read_only;
 set global read_only=0;
 
 connection master1;

No bundle (reason: revision is a merge).
Thread
bzr commit into mysql-5.5 branch (Dmitry.Lenev:3327) Dmitry Lenev15 Feb