Bug #29371 | Falcon does not support replication as a transactional engine | ||
---|---|---|---|
Submitted: | 26 Jun 2007 19:18 | Modified: | 30 Jul 2008 14:14 |
Reporter: | Brian Aker | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
Version: | 6.0 | OS: | Any |
Assigned to: | Ann Harrison | CPU Architecture: | Any |
[26 Jun 2007 19:18]
Brian Aker
[26 Jun 2007 20:18]
Ann Harrison
Turning on XA would be a lot easier if this code weren't in handler.cc #ifndef WILL_BE_DELETED_LATER /* for now, only InnoDB supports 2pc. It means we can always safely rollback all pending transactions, without risking inconsistent data */ DBUG_ASSERT(total_ha_2pc == (ulong) opt_bin_log+1); // only InnoDB and binlog tc_heuristic_recover= TC_HEURISTIC_RECOVER_ROLLBACK; // forcing ROLLBACK info.dry_run=FALSE; #endif Cheers, Ann
[26 Jun 2007 20:39]
Brian Aker
Currently though it won't work even if you don't compile in Innodb (aka remove it). So even if you compile out Innodb... Falcon still won't work with replication.
[26 Jun 2007 22:10]
MySQL Verification Team
Thank you for the bug report.
[31 Aug 2007 15:56]
Kevin Lewis
Assigned to Ann Harrison
[30 Nov 2007 22:30]
Ann Harrison
The XA_ENABLED conditional code has been integrated into Falcon generally and the condition is removed. You can control whether Falcon participates in two-phase commit transactions with the parameter falcon_support_xa. When the parameter is set to zero, Falcon does not report itself as a 2pc engine and commits are single phase. When the parameter is set to 1, it does and does. There are still a number of issues to resolve before two 2pc engines can run in the same server and coordinate their actions.
[3 Dec 2007 13:04]
Ann Harrison
Falcon has code to handle a two-phase commit which can be disabled with the switch falcon_support_xa. By default, the switch is off. The server does not support the existence of two two-phase-commit engines so if falcon_support_xa is turned on, you must also use the switch --skip_innodb.
[3 Dec 2007 16:34]
Jeffrey Pugh
A new bug (32926) has been opened for the fact that the Server does not support two XA-enabled engines running concurrently.
[11 Feb 2008 19:48]
Kevin Lewis
Patch is in mysql-6.0-falcon and mysql-6.0-release version 6.0.4
[30 Jul 2008 14:14]
MC Brown
A note has been added to the 6.0.4 changelog: A new configuration option, falcon_support_xa has been added. The option specifies whether Falcon should report itself as a two-phase commit storage engine, and therefore take part in XA transactions.