Bug #90959 | XA transactions can lock forever if a gap lock is also taken on the slave | ||
---|---|---|---|
Submitted: | 22 May 2018 6:40 | Modified: | 11 Jun 2018 11:23 |
Reporter: | Andreas Wederbrand | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.7.22 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[22 May 2018 6:40]
Andreas Wederbrand
[23 May 2018 5:19]
MySQL Verification Team
Hello Andreas, Thank you for the report and test case. Thanks, Umesh
[23 May 2018 5:21]
MySQL Verification Team
test results
Attachment: 90959.results (application/octet-stream, text), 56.63 KiB.
[25 May 2018 15:55]
Sveta Smirnova
Test case without X-lock on the gap on slave
Attachment: rpl_bug90959.test (application/octet-stream, text), 1.48 KiB.
[25 May 2018 15:55]
Sveta Smirnova
Option file for master, copy same file for slave
Attachment: rpl_bug90959-master.opt (application/octet-stream, text), 26 bytes.
[25 May 2018 15:56]
Sveta Smirnova
Bug is repeatable even if there is no X-lock on the gap on slave. And if XA COMMIT is issued on the same connection which started XA transaction. Looks like more serious than at the first glance.
[28 May 2018 7:35]
Andreas Wederbrand
Sveta is correct. I've updated my gist if anyone wants to test this using docker instead.
[11 Jun 2018 11:23]
Venkatesh Duggirala
Post by Developer: ================== Statement Based Replication + XA is not supported. Please see https://dev.mysql.com/doc/refman/8.0/en/xa-restrictions.html (last paragraph). And also starting from 5.7.20 version, MySQL replication server generates unsafe statement warning if XA statement is executed in Statement based replication mode. Please see https://bugs.mysql.com/bug.php?id=85639 for more information. Regards, Venkatesh.