Re: [Maria-developers] ee538938345: MDEV-21117: refine the server binlog-based recovery for semisync
Hi, Andrei! On Mar 24, Andrei Elkin wrote:
Here it goes.
As after master crash and failover to slave, the demoted-to-slave ex-master must be ready to face and accept its own (generated by) events, without generally necessary --replicate-same-server-id.
So the acceptance conditions are refined/relaxed for the semisync slave connected to master in the GTID mode which ensures (under gtid_strict_mode ON) that there can't be any duplicate events for execution on such an ex-master slave. Non-GTID "binlog-truncated" ex-master semisync slave has to be configured with --replicate-same-server-id.
Why would you generally care about same server id in the gtid mode?
Maybe you did not care in above to the 'connection' word in 'the gtid connection mode' which is about
Change-Master to ... master_use_gtid= slave_pos
So the "legacy" pre-gtid one corresponds to master_use_gtid= no. [Thinking into future, it may stay for some more time actually to serve for manual recovery of the slave.]
As discussed on slack, let's now only support fully automatic recovery for the case of master_use_gtid=slave_pos. If one uses master_use_gtid=none the failover is non-trivial anyway. We can always add flipping of replicate-same-server-id later, if needed. Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
participants (1)
-
Sergei Golubchik