Bug #49509 RBR replication failure on concurrent ALTER TABLE ENGINE
Submitted: 7 Dec 2009 13:40
Reporter: Philip Stoev Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Row Based Replication ( RBR ) Severity:S3 (Non-critical)
Version:next-mr, 6.0-codebase OS:Any
Assigned to: Assigned Account CPU Architecture:Any

[7 Dec 2009 13:40] Philip Stoev
Description:
When executing concurrentALTER TABLE ENGINE=MEMORY  , the slave fails as follows:

Query caused different errors on master and slave.     Error on master: 'Unknown table '%-.100s'' (1051), Error on slave: 'no error' (0). Default database: 'test'. Query: 'DROP TABLE t1'

note that the error message is incomplete. Instead of an actual table name, it contains the printf placeholder '%-.100s'.

How to repeat:
Grammar:

query:
        CREATE TABLE t1 (f1 INTEGER) ; ALTER TABLE t1 ENGINE = MEMORY |
        DROP TABLE t1;

RQG command line:

$ perl runall.pl \
  --duration=600 \
  --queries=100K \
  --basedir=/build/bzr/mysql-next-mr-bugfixing/ \
  --mysqld=--log-output=file \
  --grammar=path/to/grammar/here.yy \
  --mem \
  --threads=2 \
  --rpl_mode=row
[7 Dec 2009 13:43] Philip Stoev
The problem is not specific to Memory -- it is present in all ALTER TABLE ENGINE, e.g. from Innodb to MyISAM.