Commit 05a33978 authored by Sven Sandberg's avatar Sven Sandberg

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
parent b3a29b42
......@@ -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),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment