List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:January 30 2008 1:14pm
Subject:Re: bk commit into 5.1 tree (sven:1.2678) BUG#32434
View as plain text  
Hi Sven

The patch is OK to push.

On 2008-01-29 Tue 14:47 +0100,Sven Sandberg wrote:
> Below is the list of changes that have just been committed into a local
> 5.1 repository of sven. When sven does a push these changes will
> be propagated to the main repository and, within 24 hours after the
> push, to the public repository.
> For information on how to access the public repository
> see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
> 
> ChangeSet@stripped, 2008-01-29 14:47:26+01:00, sven@riska.(none) +1 -0
>   BUG#32434: Replication doesn't work between 5.2.1-a_drop6p9-log and
> 5.1.22-ndb-6.3.6-telco
>   Problem: When slave reads format_description_log_event, it checks if the
>   master is a version that uses an old binlog format. See also BUG#27779.
>   Not all possible server_versions were listed.
>   Fix: Check for all server_versions which use the old binlog_format.
> 
>   sql/log_event.cc@stripped, 2008-01-29 14:47:25+01:00, sven@riska.(none) +55 -10
>     In the place where we check if server_version indicates that master is
>     the alcatel branch, we now check all currently possible alcatel versions,
>     not just a subset. Added comment to explain which clones are affected.
> 
> diff -Nrup a/sql/log_event.cc b/sql/log_event.cc
> --- a/sql/log_event.cc	2008-01-14 16:48:02 +01:00
> +++ b/sql/log_event.cc	2008-01-29 14:47:25 +01:00
> @@ -2944,18 +2944,63 @@ Format_description_log_event(const char*
>      If post_header_len is null, it means malloc failed, and is_valid
>      will fail, so there is no need to do anything.
>  
> -    The trees which have wrong event id's are:
> -    mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6,
> -    mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd (`grep -C2
> -    BEGIN_LOAD_QUERY_EVENT /home/bk/ * /sql/log_event.h`). The
> -    corresponding version (`grep mysql, configure.in` in those trees)
> -    strings are 5.2.2-a_drop6p13-alpha, 5.2.2-a_drop6p13c,
> -    5.1.5-a_drop5p20, 5.1.2-a_drop5p5.
> +    The trees in which events have wrong id's are:
> +
> +    mysql-5.1-wl1012.old mysql-5.1-wl2325-5.0-drop6p13-alpha
> +    mysql-5.1-wl2325-5.0-drop6 mysql-5.1-wl2325-5.0
> +    mysql-5.1-wl2325-no-dd
> +
> +    (this was found by grepping for two lines in sequence where the
> +    first matches "FORMAT_DESCRIPTION_EVENT," and the second matches
> +    "TABLE_MAP_EVENT," in log_event.h in all trees)
> +
> +    In these trees, the following server_versions existed since
> +    TABLE_MAP_EVENT was introduced:
> +
> +    5.1.1-a_drop5p3   5.1.1-a_drop5p4        5.1.1-alpha
> +    5.1.2-a_drop5p10  5.1.2-a_drop5p11       5.1.2-a_drop5p12
> +    5.1.2-a_drop5p13  5.1.2-a_drop5p14       5.1.2-a_drop5p15
> +    5.1.2-a_drop5p16  5.1.2-a_drop5p16b      5.1.2-a_drop5p16c
> +    5.1.2-a_drop5p17  5.1.2-a_drop5p4        5.1.2-a_drop5p5
> +    5.1.2-a_drop5p6   5.1.2-a_drop5p7        5.1.2-a_drop5p8
> +    5.1.2-a_drop5p9   5.1.3-a_drop5p17       5.1.3-a_drop5p17b
> +    5.1.3-a_drop5p17c 5.1.4-a_drop5p18       5.1.4-a_drop5p19
> +    5.1.4-a_drop5p20  5.1.4-a_drop6p0        5.1.4-a_drop6p1
> +    5.1.4-a_drop6p2   5.1.5-a_drop5p20       5.2.0-a_drop6p3
> +    5.2.0-a_drop6p4   5.2.0-a_drop6p5        5.2.0-a_drop6p6
> +    5.2.1-a_drop6p10  5.2.1-a_drop6p11       5.2.1-a_drop6p12
> +    5.2.1-a_drop6p6   5.2.1-a_drop6p7        5.2.1-a_drop6p8
> +    5.2.2-a_drop6p13  5.2.2-a_drop6p13-alpha 5.2.2-a_drop6p13b
> +    5.2.2-a_drop6p13c
> +
> +    (this was found by grepping for "mysql," in all historical
> +    versions of configure.in in the trees listed above).
> +
> +    There are 5.1.1-alpha versions that use the new event id's, so we
> +    do not test that version string.  So replication from 5.1.1-alpha
> +    with the other event id's to a new version does not work.
> +    Moreover, we can safely ignore the part after drop[56].  This
> +    allows us to simplify the big list above to the following regexes:
> +
> +    5\.1\.[1-5]-a_drop5.*
> +    5\.1\.4-a_drop6.*
> +    5\.2\.[0-2]-a_drop6.*
> +
> +    This is what we test for in the 'if' below.
>    */
>    if (post_header_len &&
> -      (strncmp(server_version, "5.1.2-a_drop5", 13) == 0 ||
> -       strncmp(server_version, "5.1.5-a_drop5", 13) == 0 ||
> -       strncmp(server_version, "5.2.2-a_drop6", 13) == 0))
> +      server_version[0] == '5' && server_version[1] == '.' &&
> +      server_version[3] == '.' &&
> +      strncmp(server_version + 5, "-a_drop", 7) == 0 &&
> +      ((server_version[2] == '1' &&
> +        server_version[4] >= '1' && server_version[4] <= '5'
> &&
> +        server_version[12] == '5') ||
> +       (server_version[2] == '1' &&
> +        server_version[4] == '4' &&
> +        server_version[12] == '6') ||
> +       (server_version[2] == '2' &&
> +        server_version[4] >= '0' && server_version[4] <= '2'
> &&
> +        server_version[12] == '6')))
>    {
>      if (number_of_event_types != 22)
>      {


Thread
bk commit into 5.1 tree (sven:1.2678) BUG#32434Sven Sandberg29 Jan
  • Re: bk commit into 5.1 tree (sven:1.2678) BUG#32434He Zhenxing30 Jan