← Back to team overview

maria-developers team mailing list archive

Re: Incorrect format description event skipping in queue_event()

 

On Tue, Sep 3, 2013 at 3:55 AM, Kristian Nielsen
<knielsen@xxxxxxxxxxxxxxx> wrote:
>>> If you are interested in helping with testing this, I can write a patch later,
>>> but I need a way to test it without having to spend unreasonable amounts of
>>> time on it.
>>
>> Sure, I'll be happy to test.
>
> Ok, great.
>
> Attached is a new patch for this. It makes mysql_binlog_send() and
> gtid_state_from_pos() construct the Format_description_log_event and pass it
> to Gtid_log_event::peek() and Gtid_list_log_event() to get the correct (I
> hope) common_header_length.
>
> The patch also includes my original patch for outputting the master's
> Format_description event during slave reconnect, fixed with out suggested
> changes.

Thanks. This patch works for me.

Note that there's also Query_log_event::peek() that should have the
same dependency on common_header_len. It's hard (if at all possible)
for me to experience that code path in my tests, but for the sake of
general correctness I guess it should be fixed in a similar way too.

Another thing that I noticed looking through the code: in the
queue_event() function in case of GTID_EVENT inc_pos doesn't seem to
be assigned to anything. Is it a bug or am I missing something?

Thank you,
Pavel


Follow ups

References