[MXS-1350] Add XA transaction support Created: 2017-08-09  Updated: 2022-03-30  Resolved: 2021-10-29

Status: Closed
Project: MariaDB MaxScale
Component/s: qc_sqlite, QueryClassifier
Affects Version/s: 2.1.5
Fix Version/s: 22.08.0

Type: New Feature Priority: Major
Reporter: Johan Wikman Assignee: markus makela
Resolution: Fixed Votes: 1
Labels: None

Issue Links:
Duplicate
is duplicated by MXS-2431 Support XA transactions Closed
Sprint: 2017-40, 2017-41, MXS-SPRINT-143

 Description   

The query classifiers of MaxScale do not recognize XA transactions.

XA {START|BEGIN} xid [JOIN|RESUME]
XA END xid [SUSPEND [FOR MIGRATE]]
...

The effect is that MaxScale is not aware of there being a transaction on-going.



 Comments   
Comment by markus makela [ 2020-03-02 ]

Changed to a bug as it's more of a limitation than a plain task.

Comment by Johan Wikman [ 2021-08-30 ]

Changed to New Feature as this is listed in the limitations.

Comment by markus makela [ 2021-10-28 ]

Treating XA START and XA END as normal transactions allows minimal changes to be done while still fixing the problem of queries in XA transactions not being routed to the correct types of servers. However, this does not change the problem that currently exists with the real transaction state on the databse and the perceived one in MaxScale: if one executes a START TRANSACTION inside of an XA transaction, MaxScale will think that a transaction is open even if it wasn't opened on the database due to the XA transaction already being open.

Generated at Thu Feb 08 04:06:05 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.