← Back to team overview

maria-developers team mailing list archive

GTID and failovers with multi-domain replication

 

Kristian,

You've mentioned that in future implementation of parallel replication
MariaDB will use multiple domains to replicate from one master to a
slave. It means for me that I need to understand how multiple domains
will work. And I realized that I don't know how the following
situation can be handled. I don't know how parallel replication will
work, so I'll explain situation in terms of several masters. Let's
assume we have server S1 that is master working with domain_id=0,
server S2 is master working with domain_id=1, servers S3 and S4 are
slaves and replicate from both of these masters, i.e. they have both
domains in their databases. Now let's say S1 has last GTID 0-1-100, S2
has last GTID 1-2-100. Before S3 and S4 were able to fully catch up
with S1 and S2 power got cut out from S1 and S2. As replication from
two masters goes independently it's possible that S3 will have last
transactions 0-1-100, 1-2-99 while S4 will have last transactions
0-1-99, 1-2-100. As my masters are out I want either S3 or S4 to
temporarily become master. But it looks like I won't be able to do so:
S3 won't connect to S4 because S4 doesn't have 0-1-100 and S4 won't
connect to S3 because S3 doesn't have 1-2-100. Ideally I'd want for S3
to replicate from S4 in domain 1 and S4 to replicate from S3 in domain
0, and when they are equal in their position I can declare one of them
master for both domains. But it looks like there are no tools to do
such operation.

How would you suggest to resolve such situation?


Thank you,
Pavel


Follow ups