Bug #68187 When MySQL version number upgrade to 10.x, can't replicate to lower version
Submitted: 26 Jan 2013 16:02 Modified: 3 Apr 2013 14:29
Reporter: Lixun Peng (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.5.31, 5.7.1 OS:Any
Assigned to: CPU Architecture:Any
Tags: replication

[26 Jan 2013 16:02] Lixun Peng
Description:
https://mariadb.atlassian.net/browse/MDEV-4088

The lastest MariaDB version is upgrade to 10.0.0, then we found, if MariaDB 10.0 replicate to 5.X, slave will report "Master reported unrecognized MySQL version".

because:
switch (*mysql->server_version) {
    case '1':
      errmsg = "Master reported unrecognized MySQL version";

So I think when MySQL version number upgrade to 10.x or higher, too, this problem will appear, too.

How to repeat:
Creating a replication from MariaDB 10.0 to MySQL 5.X, or just modified a MySQL version number higher than 10.0, and replicating to the same version slave.

Suggested fix:
If MySQL version number will upgrade to 10.x or high(like 5.6 -> 5.7 ... -> 9.x ->  ... 10.x), we can't use this way (*mysql->server_version) to judge MySQL version anymore. Maybe we can convert *mysql->server_version to a number, and the compare it.
[26 Jan 2013 18:27] Sveta Smirnova
Thank you for the report.

Verified as described.
[3 Apr 2013 14:29] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html
[3 Apr 2013 14:30] Jon Stephens
Fixed in 5.6+. Documented in the 5.6.11 and 5.7.1 changelogs as follows:

        When the server version of the master was greater than or equal 
        to 10, replication to a slave having a lower server version 
        failed.

Closed.