sql/binlog.cc:7987: virtual int MYSQL_BIN_LOG::prepare(THD*, bool): Assertion `thd->slave_thread ? opt_log_slave_updates : thd->variables.sql_log_bin' failed.
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
MySQL Server |
Unknown
|
Unknown
|
||||
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.6 |
Invalid
|
Undecided
|
Unassigned | |||
5.7 |
Fix Released
|
High
|
George Ormond Lorch III |
Bug Description
stack_bottom = 7f82e420f980 thread_stack 0x40000
/ssd/toku/
/ssd/toku/
/lib/x86_
/lib/x86_
/lib/x86_
/lib/x86_
/lib/x86_
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/ssd/toku/
/lib/x86_
/lib/x86_
Setup basic master-slave w/ binlog replication.
Master options:
server-id=1
log-bin=mysql-bin
max_connections
plugin-
Slave options:
server-id=2
log-bin=mysql-bin
log-slave-updates=0 ### Note, this is critical to reproducing the bug ###
max_connections
plugin-
On the master:
CREATE TABLE t1(`a` INT) ENGINE=TokuDB;
CREATE TABLE t2(`a` INT) ENGINE=InnoDB;
begin;
insert into t1 values (1);
insert into t2 values (1);
commit;
The slave will crash as it processes the commit.
1) Slave is started with binlog enabled, but with slave updates not being logged, thus, it has chosen binlog not mmap as the transaction coordinator.
1) Use two different transactional engines within one transaction
3) A mixed engine transaction comes from the master. It should not be binlogged, but binlog acts as the transaction coordinator and asserts.
This is a new assertion in 5.7 in sql/binlog.cc : MYSQL_BIN_
tags: | added: upstream |
See https:/ /tokutek. atlassian. net/browse/ DB-900