I am happy to announce that slave_transaction_retries is
available on multi-threaded slave now. You will no longer see the
warning that slave_transaction_retries is not supported by
multi-threaded slave since MySQL-5.7.5.
Multi-threaded slave and single-threaded slave share the system
variable slave_transaction_retries and they have similar
transaction retry logic. So this blog just brings you a little
new knowledge and then refresh you with the transaction retry
logic.
Transaction Retry In Worker Threads
For multi-threaded slave, Transaction retry is done in worker
threads when they are applying their transactions. When a worker
thread encounters a temporary error, it needs to read the
transaction’s events from relay log by itself and then apply them
again.
The only new thing is that worker threads need to read events
from relay log by themselves. To support it, coordinator stores
relay log position of …
[Read more]