Andrei Elkin <andrei.el...@mariadb.com> writes:

>> The most common case is the provisioning of a slave with a complete dump
>> from a master. In this case, it is required that the GTID position is set
>> correctly across all domains. Merging the existing and new GTID position as
>> attempted in this patch will break the provisioning of the slave.
>
> 'Will break' but merely for the technical (your pp1,2 to the concat)
> reasons. I don't see what else can be a problem of  MDEV-34615 part.

No. What I mean is, consider some slave server that has an existing
gtid_slave_pos='20-2-1000' say, domain_id=20. And then this server is for
some reason re-provisioned (ie. all data overwritten) with a new mysqldump,
say from a master with GTID pos '10-1-2000'.

Now the correct GTID position matching the new dump is

  SET GLOBAL gtid_slave_pos='10-1-2000';

If you make the MDEV-34615 idea default, then the position for the new slave
will be multi-domain '20-2-1000,10-1-2000', which is not correct and could
cause problems later.

Basically, only the user knows if the old @@gtid_slave_pos is meaningful and
should be kept, or if it should be overwritten, mysqldump cannot reliably
determine this. And changing the default will end up breaking things in some
cases that are working now.

The merging of GTID positions can be useful in the case where we are setting
up a multi-source slave C by importing dumps from two master A and B, say.
In this case the first import needs to overwrite any old gtid_slave_pos, and
the second import should merge. Thus the need for the user to specify.

I hope this explains the problem.

 - Kristian.
_______________________________________________
developers mailing list -- developers@lists.mariadb.org
To unsubscribe send an email to developers-le...@lists.mariadb.org

Reply via email to