crash in slave replication with XA transaction
Rich Prohaska <[email protected]> Mon, 4 Jun 2012 13:23:23 -0400
| Newsgroups | gmane.comp.db.mysql.devel |
|---|---|
| Message-ID | <CAB3YYRXjaqd-XRzZMABKowgZy14SciVBUeJgccW-YqUzaVdnVg@mail.gmail.com> |
Hello, We are running MySQL 5.5.21 with both InnoDB and TokuDB as XA storage engines. When one runs a transaction that inserts into an InnoDB table and a TokuDB table, the commit crashes the replication slave at log.cc line 6602 because cache_mngr == NULL. We found a pattern in various log functions in log.cc that calls binlog_setup_trx_data to initialize the txn state. This change fixes our immediate problem. $ diff log.cc.orig log.cc 6595a6596,6597 > if (thd_get_ha_data(thd, binlog_hton) == NULL) > thd->binlog_setup_trx_data(); Is this a correct fix? If so, are there other places that need a similar change? Thanks Rich Prohaska The transaction is: create table t1 (a int primary key) engine=innodb; create table t2 (a int primary key) engine=tokudb; set autocommit=0; insert into t1 values (1); insert into t2 values (2); commit; the slave crashes while handling the commit binlog entry. -- MySQL Internals Mailing List For list archives: http://lists.mysql.com/internals To unsubscribe: http://lists.mysql.com/internals