← Back to team overview

maria-discuss team mailing list archive

Pacemaker and mariadb semi-sync



I've been working on developing a pacemaker resource-agent for mariadb semi-sync replication.
There is a pull request here on github:


I would be very happy for some review (and even testing) of this resource-agent from somebody with expertise in mariadb replication.

The general idea is to select the master at startup and failure as the node with the highest GTID. AFTER_SYNC is used to ensure at least one slave will have all the updates. mariadb is started with --log-slave-updates to ensure that slaves log all events, so the binary log on each node should always be complete.

The parameter set on each node is as follows:

SET GLOBAL rpl_semi_sync_slave_enabled='ON', \
                           rpl_semi_sync_master_enabled='ON', \
rpl_semi_sync_master_wait_point='AFTER_SYNC', \
                           gtid_strict_mode='ON', \
                           sync_binlog=1, \
                           sync_master_info=1, \
                           sync_relay_log=1, \

I suspect this may be overkill, but I don't have the competence to judge.

I have also found that calling "SHOW SLAVE STATUS;" may take a long time to display data when the slave is very busy (typically replicating after a failure). Is there any way to make sure it doesn't block?

All feedback very welcome.

Best Regards,
Nils Carlson

Follow ups