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
SHOW FULL PROCESSLISTand
INFORMATION_SCHEMA.PROCESSLISTcan not be used to determine if a slave is lagging behind. For this, use instead the
Seconds_Behind_Mastercolumn in the output of SHOW SLAVE STATUS.