problem with TC_LOG_MMAP::commit in mysql-5.6.6-m9
Rich Prohaska <[email protected]> Wed, 22 Aug 2012 16:04:48 -0400
| Newsgroups | gmane.comp.db.mysql.devel |
|---|---|
| Message-ID | <CAB3YYRXd47qBAXz+MgjC3SNb1=LGchgg58a9QnoXSPy7gqCTsQ@mail.gmail.com> |
Hello,
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))
Thanks
Rich Prohaska
--
MySQL Internals Mailing List
For list archives: http://lists.mysql.com/internals
To unsubscribe: http://lists.mysql.com/internals