Bug #77392 Slave group event parser does not recognize XA ROLLBACK as a boundary
Submitted: 17 Jun 2015 16:22 Modified: 7 Sep 2015 13:55
Reporter: Andrei Elkin Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.7.7 OS:Any
Assigned to: CPU Architecture:Any

[17 Jun 2015 16:22] Andrei Elkin
There's a warning seen

 [Warning] An unexpected event sequence was detected by the IO thread while queuing the event received from master
 'master-bin.000001' binary log file, at position 5787

Most probable reason is a parsing of XA transaction group that precedes the above position.
I am leaving only query events of it here:

XA START X'58415f7472616e735f7461626c655f6669727374',X'',1
XA END X'58415f7472616e735f7461626c655f6669727374',X'',1
XA ROLLBACK X'58415f7472616e735f7461626c655f6669727374',X'',1

The group at the reported position is a regular BEGIN..COMMIT one.

How to repeat:
mtr rpl_xa_survive_disconnect_mixed_engines (not pushed yet version of Bug #20920851 fixes)

Suggested fix:
Consider to register XA ROLLBACK as a valid boundary, if that's the reason.
[7 Sep 2015 13:55] Jon Stephens
Documented fix in the MySQL 5.7.9 changelog as follows:

    The slave group event parser did not register XA_ROLLBACK as a
    transaction boundary.