I was recently asked a question by mail about MySQL Lossless Semi-Synchronous Replication.
As I think the answer could benefit many people, I am answering
it in a blog post. The answer brings us to the internals of
transaction committing, of semi-synchronous replication, of MySQL
(server) crash recovery, and of storage engine (InnoDB) crash
recovery. I am also debunking some misconceptions that I have
often seen and heard repeated by many. Let’s start by stating one
of those misconceptions.
One of those misconceptions is the following (this is NOT true):
semi-synchronous enabled slaves are always the most up-to-date
slaves (again, this is NOT true). If you hear it
yourself, then please call people out on it to avoid this
spreading more. Even if some slaves have semi-synchronous
replication disabled (I will use semi-sync for …[Read more]