Bug#18885916 RELAY LOG WITHOUT XID_LOG_EVENT MAY CASE PARALLEL REPLICATION HANG
Problem:
=======
With MTS, GTIDs and auto positioning enabled, when a worker applies a
partial transaction left on relaylog by an IO thread reconnection, it
will wait for the XID log event to commit the transaction.
Unfortunately, the SQL thread coordinator will reach the master's
ROTATE event on the next relaylog file and will wait for all workers
to finish their tasks before applying the ROTATE.
Analysis:
========
As the whole transaction is retrieved again by the IO thread after the
reconnection, the slave must rollback the partial transaction once
noticing this ROTATE from the master.
This bug reports the same issue already fixed by BUG#17326020, and the
reported issue is not reproducible anymore. So, this patch is just
adding a new test case.
Upstream has it's own fix for bug 1331586.
It passes our test case. I am going to revert our fix.
Author: Joao Gramacho <email address hidden>
Date: Mon Oct 20 08:24:05 2014 +0100
Bug#18885916 RELAY LOG WITHOUT XID_LOG_EVENT MAY CASE PARALLEL
REPLICATION HANG
Problem:
=======
With MTS, GTIDs and auto positioning enabled, when a worker applies a
partial transaction left on relaylog by an IO thread reconnection, it
will wait for the XID log event to commit the transaction.
Unfortunately, the SQL thread coordinator will reach the master's
ROTATE event on the next relaylog file and will wait for all workers
to finish their tasks before applying the ROTATE.
Analysis:
========
As the whole transaction is retrieved again by the IO thread after the
reconnection, the slave must rollback the partial transaction once
noticing this ROTATE from the master.
This bug reports the same issue already fixed by BUG#17326020, and the
reported issue is not reproducible anymore. So, this patch is just
adding a new test case.