Description:
Observed during the release build of 5.1.18,
only once,
on Linux (x86_64) using icc in the PS test run,
but I assume this is pure chance.
-------------------------------------------------------
*** r/rpl_events.result
--- r/rpl_events.reject
***************
*** 24,37
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
! 2 from justonce TIMESTAMP
! affected rows: 2
"in the slave"
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
! 2 from justonce TIMESTAMP
! affected rows: 2
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator
DROP EVENT IF EXISTS test.slave_once;
--- 24,35
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
! affected rows: 1
"in the slave"
SELECT * FROM t1 WHERE c = 'from justonce' OR c = 'manually' ORDER BY id;
id c ts
1 manually TIMESTAMP
! affected rows: 1
SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'justonce';
db name status originator
DROP EVENT IF EXISTS test.slave_once;
-------------------------------------------------------
From looking at the test, I assume that the event (scheduled at "now + 2 seconds") simply was not executed within 3 seconds due to some scheduling (or machine load) effect.
How to repeat:
Run the test sufficiently often.
Suggested fix:
Increase the difference between event delay (2 seconds) and result check (3 seconds).