maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #05062
Re: Replication New to Old
-
To:
Kristian Nielsen <knielsen@xxxxxxxxxxxxxxx>
-
From:
andrei.elkin@xxxxxxxxxx
-
Date:
Fri, 06 Apr 2018 09:54:12 +0300
-
Cc:
maria-discuss@xxxxxxxxxxxxxxxxxxx
-
In-reply-to:
<8760559y2n.fsf@urd.knielsen-hq.org> (Kristian Nielsen's message of "Thu, 05 Apr 2018 22:51:12 +0200")
-
Organization:
Home sweet home
-
Razorgate-kas:
Status: not_detected
-
Razorgate-kas:
Rate: 0
-
Razorgate-kas:
Envelope from:
-
Razorgate-kas:
Version: 5.5.3
-
Razorgate-kas:
LuaCore: 80 2014-11-10_18-01-23 260f8afb9361da3c7edfd3a8e3a4ca908191ad29
-
Razorgate-kas:
Lua profiles 69136 [Nov 12 2014]
-
Razorgate-kas:
Method: none
-
User-agent:
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)
Kristian,
> andrei.elkin@xxxxxxxxxx writes:
>
>> Mike,
>>
>>> Hello,
>>>
>>> I realize that in general replication from a newer master to an older
>>> slave is typically not recommended. This said, does anyone have an
>>> experience replicating from MariaDB 10.2 to MySQL 5.6?
>>
>> A problem that is evident at once is 10.2 GTID events can not be handled
>> by 5.6. So at least some filtering should be devised.
>
> 10.2 does not send GTID to a slave that does not understand it (they are
> rewritten on-the-fly to BEGIN query events). So GTID events should not cause
> 5.6 slave to break.
Thanks for correcting! The gtid filtering meant is therefore already
in the server :-).
>
> More generally, the code in MariaDB (at least the code that I wrote) detects
> what capabilities the slave has, and avoids sending stuff from the master
> that an old slave will not understand. See MARIA_SLAVE_CAPABILITY_* in
> log_event.h.
>
> So the intention is that replication to old slave should work. However, this
> still requires that applications restrict themselves from using any SQL not
> supported on the old slave. And it is only poorly tested, if at all. Hence
> the recommendation to avoid new master->old slave.
To detail on that for the statement-based replication the old slave may ignore a part of
execution context that the new master records into events, typically
into Query-log-event. While ignorance is bliss it can lead to
inconsistency in this case.
Cheers,
Andrei
Follow ups
References