Sven, tjena!
As we discussed the matter over on #rep, such patch is okay to push.
cheers,
Andrei
> Sending this manually as my mailsend seems to have problems...
>
> commit message:
> 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.
>
> === modified file 'mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test'
> --- mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
> 2008-03-28 17:56:43 +0000
> +++ mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test
> 2008-06-04 18:12:54 +0000
> @@ -293,8 +293,18 @@
> set @a=2.345;
> insert delayed into t2 values(@a);
>
> -let $wait_condition= SELECT COUNT(*) = 19 FROM t2;
> +# 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. We first call
> +# sync_slave_with_master, so that we are sure that t2 has been created
> +# on the slave.
> +sync_slave_with_master;
> +let $wait_condition= SELECT COUNT(*) = 19 FROM mysqltest1.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),
>
>
>
> --
> Sven Sandberg, Software Engineer
> MySQL AB, www.mysql.com
>
> --
> MySQL Code Commits Mailing List
> For list archives: http://lists.mysql.com/commits
> To unsubscribe: http://lists.mysql.com/commits?unsub=1