← Back to team overview

maria-developers team mailing list archive

Re: Bugs in GTID implementation

 

On Mon, Mar 25, 2013 at 10:39 AM, Pavel Ivanov <pivanof@xxxxxxxxxx> wrote:
> On Mon, Mar 25, 2013 at 4:30 AM, Kristian Nielsen
> <knielsen@xxxxxxxxxxxxxxx> wrote:
>> Pavel Ivanov <pivanof@xxxxxxxxxx> writes:
>>
>>> fixes. Meanwhile I've found one more bug in your code. In
>>> Gtid_log_event::do_apply_event() you assume that mysql_parse() always
>>> succeeds, you don't check thd->is_error() and always return 0. I don't
>>
>> Ah, right, I see.
>>
>> Can you test the appended patch if it fixes the problem? I tried to copy the
>> error handling to be identical to what
>> Query_log_event::do_apply_event("BEGIN") does.
>
> Yes, this patch works.
>
> And I've found two more minor changes that should be done in GTID
> support: gcc -O2 complains that err in
> slave_connection_state::remove() in sql/rpl_gtid.cc is assigned but
> never used (it's used only in DBUG_ASSERT). Also it complains that
> error_gtid in mysql_binlog_send in sql/sql_repl.cc can be used
> uninitialized (I see that it can't but it breaks build with -Werror).

And more minor fixes: tests rpl.rpl_gtid_crash and
rpl.rpl_gtid_errorhandling need "--source include/have_debug.inc" and
multi_source.gtid needs "--source include/not_embedded.inc".


Pavel


References