List:Commits« Previous MessageNext Message »
From:Alfranio Correia Date:September 9 2010 10:41am
Subject:Re: bzr commit into mysql-trunk-bugfixing branch (alfranio.correia:3257)
Bug#55704
View as plain text  
Hi Daogang,

I will take care of all your requests.

Cheers.

On 09/09/2010 10:23 AM, Daogang Qu wrote:
> Hi Alfranio,
> Nice work. Please see another comment below. Thanks!
> 
> Best Regards,
> 
> Daogang
> 
> 2010/09/03 01:17, Alfranio Correia wrote:
>>
> #Atfile:///home/acorreia/workspace.sun/repository.mysql.new/bzrwork/bug-55704/mysql-trunk-bugfixing/
>  based onrevid:marc.alff@stripped
>>
>>   3257 Alfranio Correia	2010-09-02
>>        BUG#55704 incorrect binlogging of savepoints break slaves!
>>
>>        The replication was ignoring that a savepoint was valid within a
> transaction unless
>>        it is released, implicit or explicitly, and was removing its occurrence
> from the
>>        binary log when a rollback was issued.
>>
>>        To fix the problem, we always keep the savepoint definition in the binary
> log.
>>       @ mysql-test/extra/rpl_tests/rpl_mixing_engines.inc
>>          Improve this test case to easily generate savepoint and rollback to
> savepoint commands.
>>       @ mysql-test/extra/rpl_tests/rpl_mixing_engines.test
>>    
> [snip]
>> +
>> +  error= mysql_bin_log.write(&qinfo);
>> +
>> +  binlog_trans_log_savepos(thd, (my_off_t*) sv);
>> +  /* Write it to the binary log */
>>    
> What is the above comment for? 

This comment is in the wrong place.

> Could you please
> add comment to explain how the savepoint is always
> written into binlog before binlog_trans_log_savepos(...)
> in next patch.

Sure.

> 
> Best Regards,
> 
> Daogang
>> +
>> +  DBUG_RETURN(error);
>>   }
>>
>>   static int binlog_savepoint_rollback(handlerton *hton, THD *thd, void *sv)
>> @@ -725,7 +732,9 @@ static int binlog_savepoint_rollback(han
>>     {
>>       String log_query;
>>       if (log_query.append(STRING_WITH_LEN("ROLLBACK TO ")) ||
>> -        log_query.append(thd->lex->ident.str,
> thd->lex->ident.length))
>> +        log_query.append("`") ||
>> +        log_query.append(thd->lex->ident.str,
> thd->lex->ident.length) ||
>> +        log_query.append("`"))
>>         DBUG_RETURN(1);
>>       int errcode= query_error_code(thd, thd->killed == THD::NOT_KILLED);
>>       Query_log_event qinfo(thd, log_query.c_ptr_safe(), log_query.length(),
>>
>>    
>>
>>
>>
>>    
> 

Thread
bzr commit into mysql-trunk-bugfixing branch (alfranio.correia:3257)Bug#55704Alfranio Correia2 Sep
  • Re: bzr commit into mysql-trunk-bugfixing branch(alfranio.correia:3257) Bug#55704Libing Song9 Sep
    • Re: bzr commit into mysql-trunk-bugfixing branch (alfranio.correia:3257)Bug#55704Alfranio Correia9 Sep
  • Re: bzr commit into mysql-trunk-bugfixing branch(alfranio.correia:3257) Bug#55704Daogang Qu9 Sep
    • Re: bzr commit into mysql-trunk-bugfixing branch (alfranio.correia:3257)Bug#55704Alfranio Correia9 Sep