Parallel replication with about 8 parallel threads is up continuously between one master instance and one slave instance. Every day at around the same time SHOW SLAVE STATUS on the slave shows these two states:

  Slave_IO_State: Checking master version
Slave_IO_Running: Preparing

The documentation on the first one says

Checking master version - Checking the master's version, which only occurs very briefly after establishing a connection with the master.

That would be pretty straightforward if this slave had just started, or if the connection between the two had been lost, but there is no other sign of that happening, and this state comes up pretty consistently (+/- a couple seconds) once a day.

The documentation of the second one makes no mention of "Preparing" as a possible value.

Slave_IO_Running - Whether the slave I/O thread is running and connected (Yes), running but not connected to a master (Connecting) or not running (No).

Both master and slave are running

Server version: 10.1.13-MariaDB Source distribution

What causes the slave to get into this state? I wonder if the fact that there are multiple parallel replication threads has something to do with it or if that is a red herring.

UPDATE: I just came across this note in the MariaDB documentation, and its bug. I wonder if it is related.

. . .the TIME column of SHOW FULL PROCESSLIST and INFORMATION_SCHEMA.PROCESSLIST can not be used to determine if a slave is lagging behind. For this, use instead the Seconds_Behind_Master column in the output of SHOW SLAVE STATUS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.