[MDEV-5661] Test failure in rpl.rpl_row_create_table Created: 2014-02-12  Updated: 2014-03-10  Resolved: 2014-03-10

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.0.8
Fix Version/s: 10.0.10

Type: Bug Priority: Major
Reporter: Kristian Nielsen Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: None


 Description   

The test rpl.rpl_row_create_table seems to fail in prepared statement mode

perl mysql-test-run.pl --ps-protocol rpl.rpl_row_create_table

Seen in Buildbot, for example (link will expire eventually):

https://buildbot.askmonty.org/buildbot/builders/kvm-fulltest2/builds/1724/steps/test_7/logs/stdio



 Comments   
Comment by Elena Stepanova [ 2014-02-14 ]

Here is an excerpt from this rpl_row_create_table test case, where the failure actually happens:

--source include/have_binlog_format_row.inc
--source include/master-slave.inc
 
connection master;
CREATE TEMPORARY TABLE t7(c1 INT);
CREATE TABLE t4(c1 INT);
CREATE VIEW bug48506_t1 AS SELECT * FROM t4;
CREATE TABLE IF NOT EXISTS bug48506_t1 LIKE t7;

When the statements are executed normally, the last create is not written to the binary log:

| wheezy-64-bin.000001 | 1500 | Query       |         1 |        1586 | use `test`; CREATE TABLE t4(c1 INT)                                                                                           |
| wheezy-64-bin.000001 | 1586 | Query       |         1 |        1778 | use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `bug48506_t1` AS SELECT * FROM t4 |

But when the last create is executed as a prepared statement, it is written to the binlog as is, and since the slave does not know anything about temporary table t7, replication fails:

| wheezy-64-bin.000001 | 2624 | Query       |         1 |        2710 | use `test`; CREATE TABLE t4(c1 INT)                                                                                           |
| wheezy-64-bin.000001 | 2710 | Query       |         1 |        2902 | use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `bug48506_t1` AS SELECT * FROM t4 |
| wheezy-64-bin.000001 | 2902 | Query       |         1 |        3011 | use `test`; CREATE TABLE IF NOT EXISTS bug48506_t1 LIKE t7                                                                    |

Comment by Sergei Golubchik [ 2014-02-17 ]

I have reverted the changeset revno:4060 (changset, that removed rpl.rpl_row_create_table from disabled.def file).

Now it's disabled again and can be un-disabled when it won't fail the test suite.

Comment by Michael Widenius [ 2014-03-10 ]

This test works in 10.0.10. Was fixed by revno 4007

Generated at Thu Feb 08 07:06:05 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.