On Tue, Sep 3, 2013 at 3:55 AM, Kristian Nielsen <knielsen@knielsen-hq.org> 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