Bug #40222 Replication failure on RBR + CREATE TABLE + transactions
Submitted: 21 Oct 2008 21:10 Modified: 13 Mar 2009 16:18
Reporter: Philip Stoev Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Row Based Replication ( RBR ) Severity:S2 (Serious)
Version:5.1-rpl, 5.1-bzr, 6.0-bzr OS:Any
Assigned to: Luis Soares CPU Architecture:Any

[21 Oct 2008 21:10] Philip Stoev
Description:
When executing a workload containing concurrent CREATE TABLE , row-based replication fails as follows:

081022  0:08:27 [ERROR] Slave SQL: Could not execute Delete_rows event on table test.d; handler error HA_ERR_END_OF_FILE; the event's master log master-bin.000001, end_log_pos 351358, Error_code: 0

How to repeat:
A test case will be uploaded shortly.
[21 Oct 2008 21:11] Philip Stoev
YY file

Attachment: bug40222.yy (application/octet-stream, text), 475 bytes.

[21 Oct 2008 21:11] Philip Stoev
ZZ file

Attachment: bug40222.zz (text/plain), 265 bytes.

[21 Oct 2008 21:13] Philip Stoev
To reproduce with the Random Query Generator, please clone the mysql-test-extra-6.0 tree and then execute:

$ cd mysql-test-extra-6.0/mysql-test/gentest
$ perl runall.pl \
  --basedir=/path/to/5.1-rpl/ \
  --rpl_mode=row \
  --gendata=conf/rpl_diff.zz \
  --grammar=conf/rpl_diff.yy \
  --mysqld=--innodb_lock_wait_timeout=1 \
  --queries=10000 \
  --duration=300 \
  --engine=Innodb

This will produce a concurrent workload with 10 threads. The test will abort as soon as the slave thread stops with an error.
[21 Oct 2008 22:10] Sveta Smirnova
Thank you for the report.

Verified with different error: # 00:08:49 Slave thread has stopped with error: Could not execute Update_rows event on table test.f; handler error HA_ERR_END_OF_FILE; the event's master log master-bin.000001, end_log_pos 158654
[13 Mar 2009 16:15] Philip Stoev
Not repeatable with 5.1-bugteam and 6.0-bzr. The various non-replication-related errors produced by the script can be safely ignored.
[13 Mar 2009 16:18] Luis Soares
Made several runs against latest 5.1-bt (rev-id: timothy.smith@sun.com-20090311214315-8n9bq28dhd521pxi) and all runs ended up with: 

# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:30 Child process completed successfully.
# 17:15:35 Killing periodic reporting process with pid 4129...
# 17:15:40 Test completed successfully.
# 17:15:40 Waiting for slave to catch up..., file master-bin.000001, pos 1740222 .
# 17:15:40 Dumping server on port 19306...
# 17:15:40 Dumping server on port 19308...
# 17:15:40 Comparing SQL dumps...
# 17:15:40 No differences were found between servers.

Based on this observation and Philip remark, closing as CAN'T REPEAT.