binlog format MIXED and temp table causes inconsistency
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MySQL patches by Codership |
New
|
Undecided
|
Unassigned | ||
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC |
Won't Fix
|
Undecided
|
Kenn Takara |
Bug Description
To reproduce, start cluster and run the following sequence of commands against one of the nodes:
use test;
drop table if exists t1;
set binlog_
create temporary table t1 (a int) engine=innodb;
drop table t1;
create table t1 (a int not null, b int not null, c blob not null, d int not null, e int, primary key (a,b,c(255),d)) engine=innodb;
insert into t1 values (2,2,"b"
drop table t1;
This causes inconsistency, table t1 is not dropped on slave nodes. By inspecting binlog it looks like the last drop table is translated to drop temporary table:
DROP TEMPORARY TABLE IF EXISTS `t1` /* generated by server */
However, if the insert is not executed, the last drop table is executed on slaves properly and no inconsistency occurs.
Changed in codership-mysql: | |
assignee: | nobody → Kenn Takara (kenn-takara) |
Changed in codership-mysql: | |
assignee: | Kenn Takara (kenn-takara) → nobody |
Changed in percona-xtradb-cluster: | |
assignee: | nobody → Kenn Takara (kenn-takara) |
binlog_format=MIXED is not supported so using it can lead to inconsistency.
We can't warrant against unsupported feature.