MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Sven Sandberg Date:June 30 2008 11:06am
Subject:bzr commit into mysql-5.1 branch (sven:2681) Bug#37200
View as plain text  
#At file:///home/sven/bzr/b37200-rpl_switch_stm_row_mixed/5.1-bugteam/

 2681 Sven Sandberg	2008-06-30
      BUG#37200: rpl_switch_stm_row_mixed fails sporadically in pushbuild
      Problem: rpl_switch_stm_row_mixed did not wait until row events generated by
      INSERT DELAYED were written to the master binlog before it synchronized slave
      with master. This caused sporadic errors where these rows were missing on
      slave.
      Fix: wait until all rows appear on the slave.
      This is a backport, applying the same to 5.1-bugteam as was previously
      applied to 6.0-rpl
modified:
  mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test

=== modified file 'mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test'
--- a/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test	2008-03-28 17:56:43 +0000
+++ b/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test	2008-06-30 11:06:41 +0000
@@ -293,8 +293,16 @@ insert delayed into t2 values(rand());
 set @a=2.345;
 insert delayed into t2 values(@a);
 
+# With INSERT DELAYED, rows are written to the binlog after they are
+# written to the table. Therefore, it is not enough to wait until the
+# rows make it to t2 on the master (the rows may not be in the binlog
+# at that time, and may still not be in the binlog when
+# sync_slave_with_master is later called). Instead, we wait until the
+# rows make it to t2 on the slave.
+connection slave;
 let $wait_condition= SELECT COUNT(*) = 19 FROM t2;
 --source include/wait_condition.inc
+connection master;
 
 # If you want to do manual testing of the mixed mode regarding UDFs (not
 # testable automatically as quite platform- and compiler-dependent),

Thread
bzr commit into mysql-5.1 branch (sven:2681) Bug#37200Sven Sandberg30 Jun