Mysql XA Isolation Level
Does anyon开发者_如何学运维e know why Mysql requires serializable isolation level to achieve ACID properties with XA transactions or what would be lost if you used repeatable read and XA?
However, for a distributed transaction, you must use the SERIALIZABLE isolation level to achieve ACID properties. It is enough to use REPEATABLE READ for a nondistributed transaction, but not for a distributed transaction.
http://dev.mysql.com/doc/refman/5.6/en/xa.html
I believe it has to do with the nature of REPEATABLE READ
and the limitations of XA in the mysql engine (MySQL is not fully compliant with the XA spec).
A known issue is that certain crash scenarios with replication can cause a transaction to be absent from the binlog: From: Restrictions on XA Transactions
With the above, Consistency in ACID is lost.
I assume that the strict behavior forced by SERIALIZABLE
mitigates this to the extent required with how they describe the xid etc. working. But elaboration on these issues is suspiciously absent. Mysql 5.6 - Consistent Read
精彩评论