mariadb/mysql-test/suite
Jon Olav Hauglid 47edc4cade Bug #50124 Rpl failure on DROP table with concurrent txn/non-txn
DML flow and SAVEPOINT

The problem was that replication could break if a transaction involving
both transactional and non-transactional tables was rolled back to a
savepoint. It broke if a concurrent connection tried to drop a
transactional table which was locked after the savepoint was set.
This DROP TABLE completed when ROLLBACK TO SAVEPOINT was executed as the
lock on the table was dropped by the transaction. When the slave later
tried to apply the binlog, it would fail as the table would already
have been dropped.

The reason for the problem is that transactions involving both
transactional and non-transactional tables are written fully to the
binlog during ROLLBACK TO SAVEPOINT. At the same time, metadata locks
acquired after a savepoint, were released during ROLLBACK TO SAVEPOINT.
This allowed a second connection to drop a table only used between
SAVEPOINT and ROLLBACK TO SAVEPOINT. Which caused the transaction binlog
to refer to a non-existing table when it was written during ROLLBACK
TO SAVEPOINT.

This patch fixes the problem by not releasing metadata locks when
ROLLBACK TO SAVEPOINT is executed if binlogging is enabled.
2010-06-25 09:32:24 +02:00
..
binlog WL#5349 Change default storage engine to InnoDB 2010-06-17 22:51:35 +02:00
bugs Bug #49741 test files contain explicit references to bin/relay-log positions 2010-05-24 21:54:08 +08:00
engines Manual merge 2010-05-26 22:34:25 +08:00
federated Bug #53261 MTR tests archive_plugin and blackhole_plugin fail when compiling with cmake 2010-06-14 11:23:49 +02:00
funcs_1 WL#5349 Change default storage engine to InnoDB 2010-06-17 22:51:35 +02:00
funcs_2 merge 5.0-> 5.1 2009-04-24 13:00:17 -04:00
ibmdb2i Bug#49329 example (and other) engines use wrong collation for open tables hash 2009-12-11 12:31:16 +05:30
innodb Post-push fixup for WL#5349 2010-06-20 22:43:34 +02:00
jp WL#2360 Performance schema 2010-01-11 18:47:27 -07:00
large_tests bug#50296 2010-02-28 19:39:28 +02:00
manual Bug #49741 test files contain explicit references to bin/relay-log positions 2010-05-24 21:54:08 +08:00
ndb BUG#50479 DDL stmt on row-only/stmt-only tables generate spurious binlog_format 2010-06-02 00:25:08 +01:00
ndb_team Manual merge 2010-05-26 22:34:25 +08:00
parts WL#5349 Change default storage engine to InnoDB 2010-06-17 22:51:35 +02:00
perfschema Post-push fixups for WL#5349 2010-06-22 12:13:47 +02:00
perfschema_stress WL#2360 Performance schema 2010-01-11 18:47:27 -07:00
rpl Bug #50124 Rpl failure on DROP table with concurrent txn/non-txn 2010-06-25 09:32:24 +02:00
rpl_ndb Manual merge from mysql-trunk-bugfixing. 2010-06-07 12:47:04 +04:00
stress
sys_vars Post-push fixup for WL#5349 2010-06-20 22:43:34 +02:00