BUG#36433: rpl_insert_id detects inconsistency on master
Problem: If INSERT is immediately followed by SELECT in another thread, the newly inserted rows may not be returned by the SELECT statement, if ENGINE=myisam and @@concurrent_insert=1. This caused sporadic errors in rpl_insert_id. Fix: The test now uses ENGINE=$engine_type when creating tables (so that innodb is used). It also turns off @@concurrent_insert around the critical place, so that it works if someone in the future writes a test that sets $engine_type=myisam before sourcing extra/rpl_tests/rpl_insert_id.test. It also adds ORDER BY to all SELECTs so that the result is deterministic. mysql-test/extra/rpl_tests/rpl_insert_id.test: - Use ENGINE=$engine_type when creating tables, since that's expected by suite/rpl/t/rpl_insert_id.test. - Use ORDER BY to avoid nondeterministic results from SELECT. - Set @@concurrent_insert=0 before doing SELECT after INSERT in another client. mysql-test/suite/rpl/r/rpl_insert_id.result: Update result file.
Showing
Please register or sign in to comment