Add support for JOIN clause in XA START

Bug #1498066 reported by Valerii Kravchuk
6
This bug affects 1 person
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.5
Triaged
Wishlist
Unassigned
5.6
Triaged
Wishlist
Unassigned
5.7
Triaged
Wishlist
Unassigned

Bug Description

Documentation of all MySQL versions says (see http://dev.mysql.com/doc/refman/5.7/en/xa-statements.html):

"For XA START, the JOIN and RESUME clauses are not supported"

This limitation causes a well known problem for Weblogic that looks like the following error message from various Connector/J version used:

Xid:bea1-0001e1c7904375b56b2b Resource: gemalto_xa_failover.ds
XAResource.start(bea1-0001e1c7904375b56b2b-67656d616c746f5f78615f6661696c6f7665722e64735f67656d616c746f5f646f6d61696e, XAResource.TMNOFLAGS) for
XAResource.end(bea1-0001e1c7904375b56b2b-67656d616c746f5f78615f6661696c6f7665722e64735f67656d616c746f5f646f6d61696e, XAResource.TMSUCCESS)
XAResource.start(bea1-0001e1c7904375b56b2b-67656d616c746f5f78615f6661696c6f7665722e64735f67656d616c746f5f646f6d61696e, XAResource.TMJOIN)
####<2015-06-29_13:39:58,100> <Debug> <JTAXA> <rhel65> <managed1> <[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-0001E1C7904375B56B2B> <> <1435556398100> <BEA-000000> <BEA1-0001E1C7904375B56B2B: null: XA.start FAILED (rm=gemalto_xa_failover.ds_gemalto_domain, xar=gemalto_xa_failover.ds
com.mysql.jdbc.jdbc2.optional.MysqlXAException: XAER_INVAL: Invalid arguments (or unsupported command)
    at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:585)
    at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:568)
    at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(MysqlXAConnection.java:508)
    at weblogic.jdbc.jta.DataSource.start(DataSource.java:811)

See

https://bugs.mysql.com/bug.php?id=78498
https://bugs.mysql.com/bug.php?id=77573
https://bugs.mysql.com/bug.php?id=40591
https://bugs.mysql.com/bug.php?id=40591

for more details and test case.

Basically, this fails at server level:

mysql> XA START 0x8a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0x01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,0x1 JOIN;
ERROR 1398 (XAE05): XAER_INVAL: Invalid arguments (or unsupported command)
mysql> select version();
+-----------------+
| version() |
+-----------------+
| 5.6.26-74.0-log |
+-----------------+
1 row in set (0.03 sec)

There is no way to join XA transaction and Weblogic needs this to work.

This is a feature request to add proper support for this clause in Percona Server.

Tags: i59616 xa
tags: added: i59616 xa
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2472

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.