On 08/22/2012 10:04 PM, Rich Prohaska wrote:
> We are porting TokuDB, a storage engine for MySQL and Mariadb that
> supports XA, to mysql-5.6.6-m9. When committing transactions in a
> MySQL system with 2 XA storage engines, TokuDB and InnoDB, we are
> crashing in the TC_LOG_MMAP::log_xid function. The
> TC_LOG_MMAP::commit method is broken; it does not check the return
> value from the ::log_xid method.
> Here is the change that we made to fix the problem.
> @@ -2631,7 +2631,7 @@
> my_xid xid= thd->transaction.xid_state.xid.get_my_xid();
> if (all && xid)
> - if ((cookie= log_xid(thd, xid)))
> + if (!(cookie= log_xid(thd, xid)))
> DBUG_RETURN(RESULT_ABORTED); // Failed to log the transaction
> if (ha_commit_low(thd, all))
> Rich Prohaska
Thanks for the heads-up, I have reported it as a bug in the bug system.
Senior Principal Software Developer
Oracle, MySQL Department