← Back to team overview

maria-discuss team mailing list archive

Re: MariaDB master-slave chained replication and parallelism

 

Hi Kristian,

Thank you for your answer.

On Thu, 5 Aug 2021 at 09:44, Kristian Nielsen <knielsen@xxxxxxxxxxxxxxx>
wrote:

>
> Interesting. Where do you see these counts? My guess is that these are
> counting the "transactional" status flag on each GTID event in the binlog.
>

I see these counts almost at the end of 'mysql -e "show slave status\G"'

You can see these yourself in a mysqlbinlog output from a binlog on the
> master respectively the slaves.
>

I will check that when I get the setup running again. Thank you for the tip.

If these show non-transactional on the master but transactional on the first
> slave, it sounds like you are replicating from MyISAM tables on the master
> to InnoDB tables on the slave. Try SHOW CREATE TABLE t on a relevant table
> on the master and the slave and see which storage engine they are using.
>

I am sure that at least the big tables use MyISAM on master and all the
slaves. Could be that one or two small tables use InnoDB. But when the
replication is running, just one counter is always increasing, the other is
staying zero (or in case of switching the master while being run) staying
fixed.

Thus, the first slave sees MyISAM changes, and does not do parallel
> operation, but writes InnoDB transactions. These InnoDB transactions are
> then seen by following slaves which enables the parallel replication
> algorithms.
>

This could be the reason, even though I am sure that all slaves use MyISAM
for almost all tables. I suppose that (could be) the default engine might
be switched to InnoDB.


> The obvious answer is to change the tables to be InnoDB on the master.
> Which
> may or may not be possible in your setup.
>

Oh, this is not so easy. The size of a few MyISAM tables is reaching almost
TBs.

And thank you for the idea with the BlackHole engine :)

Jan

Follow ups

References